DBA Data[Home] [Help]

PACKAGE BODY: APPS.JL_ZZ_AR_TX_SCHEDULES_PKG

Source


1 PACKAGE BODY JL_ZZ_AR_TX_SCHEDULES_PKG AS
2 /* $Header: jlzztscb.pls 120.5 2005/03/31 22:34:13 nipatel ship $ */
3 
4   PROCEDURE Insert_Row
5        (X_rowid              IN OUT NOCOPY VARCHAR2,
6         X_tax_categ_slab_id                NUMBER,
7         X_tax_category_id                  NUMBER,
8         X_end_date_active                  DATE,
9         X_min_taxable_basis                NUMBER,
10         X_last_update_date                 DATE,
11         X_last_updated_by                  NUMBER,
12         X_max_taxable_basis                NUMBER,
13         X_tax_code                         VARCHAR2,
14         X_start_date_active                DATE,
15         X_org_id                           NUMBER,
16         X_last_update_login                NUMBER,
17         X_creation_date                    DATE,
18         X_created_by                       NUMBER,
19         X_attribute_category               VARCHAR2,
20         X_attribute1                       VARCHAR2,
21         X_attribute2                       VARCHAR2,
22         X_attribute3                       VARCHAR2,
23         X_attribute4                       VARCHAR2,
24         X_attribute5                       VARCHAR2,
25         X_attribute6                       VARCHAR2,
26         X_attribute7                       VARCHAR2,
27         X_attribute8                       VARCHAR2,
28         X_attribute9                       VARCHAR2,
29         X_attribute10                      VARCHAR2,
30         X_attribute11                      VARCHAR2,
31         X_attribute12                      VARCHAR2,
32         X_attribute13                      VARCHAR2,
33         X_attribute14                      VARCHAR2,
34         X_attribute15                      VARCHAR2,
35         X_calling_sequence   IN            VARCHAR2) IS
36 
37     CURSOR C IS
38       SELECT rowid
39       FROM jl_zz_ar_tx_schedules
40       WHERE tax_category_id = X_tax_category_id
41       AND tax_categ_slab_id = X_tax_categ_slab_id;
42       --AND end_date_active = X_end_date_active;
43 
44     current_calling_sequence VARCHAR2(2000);
45     debug_info               VARCHAR2(100);
46 
47   BEGIN
48     --     Update the calling sequence
49     --
50     current_calling_sequence := 'JL_ZZ_AR_TX_SCHEDULES_PKG.INSERT_ROW<-' ||
51                                 X_calling_sequence;
52 
53     debug_info := 'Insert into JL_ZZ_AR_TX_SCHEDULES  ';
54     INSERT INTO jl_zz_ar_tx_schedules (tax_categ_slab_id,
55                                        tax_category_id,
56                                        end_date_active,
57                                        min_taxable_basis,
58                                        last_update_date,
59                                        last_updated_by,
60                                        max_taxable_basis,
61                                        tax_code,
62                                        start_date_active,
63                                        org_id,
64                                        last_update_login,
65                                        creation_date,
66                                        created_by,
67                                        attribute_category,
68                                        attribute1,
69                                        attribute2,
70                                        attribute3,
71                                        attribute4,
72                                        attribute5,
73                                        attribute6,
74                                        attribute7,
75                                        attribute8,
76                                        attribute9,
77                                        attribute10,
78                                        attribute11,
79                                        attribute12,
80                                        attribute13,
81                                        attribute14,
82                                        attribute15)
83                                VALUES (X_tax_categ_slab_id,
84                                        X_tax_category_id,
85                                        NVL(X_end_date_active, TO_DATE('31/12/4712', 'DD/MM/YYYY')),
86                                        X_min_taxable_basis,
87                                        X_last_update_date,
88                                        X_last_updated_by,
89                                        X_max_taxable_basis,
90                                        X_tax_code,
91                                        NVL(X_start_date_active, TO_DATE('01/01/1000', 'DD/MM/YYYY')),
92                                        X_org_id,
93                                        X_last_update_login,
94                                        X_creation_date,
95                                        X_created_by,
96                                        X_attribute_category,
97                                        X_attribute1,
98                                        X_attribute2,
99                                        X_attribute3,
100                                        X_attribute4,
101                                        X_attribute5,
102                                        X_attribute6,
103                                        X_attribute7,
104                                        X_attribute8,
105                                        X_attribute9,
106                                        X_attribute10,
107                                        X_attribute11,
108                                        X_attribute12,
109                                        X_attribute13,
110                                        X_attribute14,
111                                        X_attribute15);
112 
113     debug_info := 'Open cursor C';
114     OPEN C;
115     debug_info := 'Fetch cursor C';
116     FETCH C INTO X_rowid;
117     if (C%NOTFOUND) then
118       debug_info := 'Close cursor C - DATA NOTFOUND';
119       CLOSE C;
120       Raise NO_DATA_FOUND;
121     end if;
122     debug_info := 'Close cursor C';
123     CLOSE C;
124   EXCEPTION
125     WHEN OTHERS THEN
126       IF (SQLCODE <> -20001) THEN
127         FND_MESSAGE.SET_NAME('SQLAR','AR_DEBUG');
128         FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
129         FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
130         FND_MESSAGE.SET_TOKEN('PARAMETERS',
131                               ' tax_category_id = ' || X_tax_category_id ||
132                               ' tax_categ_slab_id = ' || X_tax_categ_slab_id ||
133                               ' end_date_active = ' || to_char(X_end_date_active,'YYYY/MM/DD') );
134         FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
135     END IF;
136     APP_EXCEPTION.RAISE_EXCEPTION;
137 
138   END Insert_Row;
139 
140   PROCEDURE Lock_Row
141        (X_rowid                            VARCHAR2,
142         X_tax_categ_slab_id                NUMBER,
143         X_tax_category_id                  NUMBER,
144         X_end_date_active                  DATE,
145         X_min_taxable_basis                NUMBER,
146         X_last_update_date                 DATE,
147         X_last_updated_by                  NUMBER,
148         X_max_taxable_basis                NUMBER,
149         X_tax_code                         VARCHAR2,
150         X_start_date_active                DATE  ,
151         X_org_id                           NUMBER,
152         X_last_update_login                NUMBER,
153         X_creation_date                    DATE  ,
154         X_created_by                       NUMBER,
155         X_attribute_category               VARCHAR2,
156         X_attribute1                       VARCHAR2,
157         X_attribute2                       VARCHAR2,
158         X_attribute3                       VARCHAR2,
159         X_attribute4                       VARCHAR2,
160         X_attribute5                       VARCHAR2,
161         X_attribute6                       VARCHAR2,
162         X_attribute7                       VARCHAR2,
163         X_attribute8                       VARCHAR2,
164         X_attribute9                       VARCHAR2,
165         X_attribute10                      VARCHAR2,
166         X_attribute11                      VARCHAR2,
167         X_attribute12                      VARCHAR2,
168         X_attribute13                      VARCHAR2,
169         X_attribute14                      VARCHAR2,
170         X_attribute15                      VARCHAR2,
171         X_calling_sequence    IN           VARCHAR2) IS
172 
173     CURSOR C IS
174     SELECT TAX_CATEG_SLAB_ID,
175            TAX_CATEGORY_ID,
176            END_DATE_ACTIVE,
177            MIN_TAXABLE_BASIS,
178            LAST_UPDATE_DATE,
179            LAST_UPDATED_BY,
180            MAX_TAXABLE_BASIS,
181            TAX_CODE,
182            START_DATE_ACTIVE,
183            ORG_ID,
184            LAST_UPDATE_LOGIN,
185            CREATION_DATE,
186            CREATED_BY,
187            ATTRIBUTE_CATEGORY,
188            ATTRIBUTE1,
189            ATTRIBUTE2,
190            ATTRIBUTE3,
191            ATTRIBUTE4,
192            ATTRIBUTE5,
193            ATTRIBUTE6,
194            ATTRIBUTE7,
195            ATTRIBUTE8,
196            ATTRIBUTE9,
197            ATTRIBUTE10,
198            ATTRIBUTE11,
199            ATTRIBUTE12,
200            ATTRIBUTE13,
201            ATTRIBUTE14,
202            ATTRIBUTE15
203       FROM jl_zz_ar_tx_schedules
204       WHERE  rowid = X_rowid
205       FOR UPDATE OF tax_category_id,
206                     tax_categ_slab_id,
207                     end_date_active
208       NOWAIT;
209 
210     Recinfo C%ROWTYPE;
211 
212     current_calling_sequence VARCHAR2(2000);
213     debug_info               VARCHAR2(100);
214 
215   BEGIN
216     --  Update the calling sequence
217     --
218     current_calling_sequence := 'JL_ZZ_AR_TX_SCHEDULES_PKG.LOCK_ROW<-' ||
219                                 X_calling_sequence;
220     debug_info := 'Open cursor C';
221     OPEN C;
222     debug_info := 'Fetch cursor C';
223     FETCH C INTO Recinfo;
224     IF (C%NOTFOUND) THEN
225       debug_info := 'Close cursor C - DATA NOTFOUND';
226       CLOSE C;
227       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
228       APP_EXCEPTION.Raise_Exception;
229     END IF;
230     debug_info := 'Close cursor C';
231     CLOSE C;
232 
233     IF ((Recinfo.tax_categ_slab_id = X_tax_categ_slab_id) AND
234         (Recinfo.tax_category_id = X_tax_category_id) AND
235         (Recinfo.end_date_active = X_end_date_active) AND
236         (Recinfo.min_taxable_basis = X_min_taxable_basis) AND
237         (Recinfo.last_update_date = X_last_update_date) AND
238         (Recinfo.last_updated_by = X_last_updated_by) AND
239         ((Recinfo.max_taxable_basis = X_max_taxable_basis) OR
240          ((Recinfo.max_taxable_basis IS NULL) AND
241           (X_max_taxable_basis IS NULL))) AND
242         ((Recinfo.tax_code = X_tax_code) OR
243          ((Recinfo.tax_code IS NULL) AND
244           (X_tax_code IS NULL))) AND
245         ((Recinfo.org_id =  X_org_id) OR
246          ((Recinfo.org_id IS NULL) AND
247           (X_org_id IS NULL))) AND
248         (Recinfo.last_updated_by = X_last_updated_by) AND
249         (Recinfo.last_update_date = X_last_update_date) AND
250         ((Recinfo.start_date_active = X_start_date_active) OR
251          ((Recinfo.start_date_active IS NULL) AND
252           (X_start_date_active IS NULL))) AND
253         ((Recinfo.last_update_login = X_last_update_login) OR
254          ((Recinfo.last_update_login IS NULL) AND
255           (X_last_update_login IS NULL))) AND
256         ((Recinfo.creation_date = X_creation_date) OR
257          ((Recinfo.creation_date IS NULL) AND
258           (X_creation_date IS NULL))) AND
259         ((Recinfo.created_by = X_created_by) OR
260          ((Recinfo.created_by IS NULL) AND
261           (X_created_by IS NULL))) AND
262         ((Recinfo.attribute_category =  X_attribute_Category) OR
263          ((Recinfo.attribute_category IS NULL) AND
264           (X_attribute_Category IS NULL))) AND
265         ((Recinfo.attribute1 = X_attribute1) OR
266          ((Recinfo.attribute1 IS NULL) AND
267           (X_attribute1 IS NULL))) AND
268         ((Recinfo.attribute2 = X_attribute2) OR
269          ((Recinfo.attribute2 IS NULL) AND
270           (X_attribute2 IS NULL))) AND
271         ((Recinfo.attribute3 = X_attribute3) OR
272          ((Recinfo.attribute3 IS NULL)  AND
273           (X_attribute3 IS NULL))) AND
274         ((Recinfo.attribute4 = X_attribute4) OR
275          ((Recinfo.attribute4 IS NULL)  AND
276           (X_attribute4 IS NULL))) AND
277         ((Recinfo.attribute5 = X_attribute5) OR
278          ((Recinfo.attribute5 IS NULL)  AND
279           (X_attribute5 IS NULL))) AND
280         ((Recinfo.attribute6 = X_attribute6) OR
281          ((Recinfo.attribute6 IS NULL) AND
282           (X_attribute6 IS NULL))) AND
283         ((Recinfo.attribute7 = X_attribute7) OR
284          ((Recinfo.attribute7 IS NULL) AND
285           (X_attribute7 IS NULL))) AND
286         ((Recinfo.attribute8 = X_attribute8) OR
287          ((Recinfo.attribute8 IS NULL) AND
288           (X_attribute8 IS NULL))) AND
289         ((Recinfo.attribute9 = X_attribute9) OR
290          ((Recinfo.attribute9 IS NULL) AND
291           (X_attribute9 IS NULL))) AND
292         ((Recinfo.attribute10 = X_attribute10) OR
293          ((Recinfo.attribute10 IS NULL) AND
294           (X_attribute10 IS NULL))) AND
295         ((Recinfo.attribute11 = X_attribute11) OR
296          ((Recinfo.attribute11 IS NULL) AND
297           (X_attribute11 IS NULL))) AND
298         ((Recinfo.attribute12 = X_attribute12) OR
299          ((Recinfo.attribute12 IS NULL) AND
300           (X_attribute12 IS NULL))) AND
301         ((Recinfo.attribute13 = X_attribute13) OR
302          ((Recinfo.attribute13 IS NULL) AND
303           (X_attribute13 IS NULL))) AND
304         ((Recinfo.attribute14 = X_attribute14) OR
305          ((Recinfo.attribute14 IS NULL) AND
306           (X_attribute14 IS NULL))) AND
307         ((Recinfo.attribute15 = X_attribute15) OR
308          ((Recinfo.attribute15 IS NULL) AND
309           (X_attribute15 IS NULL)))) THEN
310       return;
314     END IF;
311     ELSE
312       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
313       APP_EXCEPTION.Raise_Exception;
315 
316   EXCEPTION
317     WHEN OTHERS THEN
318       IF (SQLCODE <> -20001) THEN
319         IF (SQLCODE = -54) THEN
320           FND_MESSAGE.SET_NAME('SQLAR','AR_RESOURCE_BUSY');
321         ELSE
322           FND_MESSAGE.SET_NAME('SQLAR','AR_DEBUG');
323           FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
324           FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
325           FND_MESSAGE.SET_TOKEN('PARAMETERS',
326                                 ' tax_category_id = ' || X_tax_category_id ||
327                                 ' tax_categ_slab_id = ' || X_tax_categ_slab_id ||
328                                 ' end_date_active = ' || to_char(X_end_date_active,'YYYY/MM/DD') );
329           FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
330         END IF;
331       END IF;
332       APP_EXCEPTION.RAISE_EXCEPTION;
333 
334   END Lock_Row;
335 
336   PROCEDURE UpDate_Row
337        (X_rowid                            VARCHAR2,
338         X_tax_categ_slab_id                NUMBER,
339         X_tax_category_id                  NUMBER,
340         X_end_date_active                  DATE,
341         X_min_taxable_basis                NUMBER,
342         X_last_update_date                 DATE,
343         X_last_updated_by                  NUMBER,
344         X_max_taxable_basis                NUMBER,
345         X_tax_code                         VARCHAR2,
346         X_start_date_active                DATE,
347         X_org_id                           NUMBER,
348         X_last_update_login                NUMBER,
349         X_creation_date                    DATE,
350         X_created_by                       NUMBER,
351         X_attribute_category               VARCHAR2,
352         X_attribute1                       VARCHAR2,
353         X_attribute2                       VARCHAR2,
354         X_attribute3                       VARCHAR2,
355         X_attribute4                       VARCHAR2,
356         X_attribute5                       VARCHAR2,
357         X_attribute6                       VARCHAR2,
358         X_attribute7                       VARCHAR2,
359         X_attribute8                       VARCHAR2,
360         X_attribute9                       VARCHAR2,
361         X_attribute10                      VARCHAR2,
362         X_attribute11                      VARCHAR2,
363         X_attribute12                      VARCHAR2,
364         X_attribute13                      VARCHAR2,
365         X_attribute14                      VARCHAR2,
366         X_attribute15                      VARCHAR2,
367         X_calling_sequence   IN            VARCHAR2) IS
368 
369     current_calling_sequence VARCHAR2(2000);
370     debug_info               VARCHAR2(100);
371 
372   BEGIN
373     --Update  the calling sequence
374     --
375     current_calling_sequence := 'JL_ZZ_AR_TX_SCHEDULES_PKG.UPDATE_ROW<-' ||
376                                 X_calling_sequence;
377     debug_info := 'Update JL_ZZ_AR_TX_SCHEDULES';
378 
379     UPDATE jl_zz_ar_tx_schedules
380     SET tax_categ_slab_id  = X_tax_categ_slab_id,
381         tax_category_id    = X_tax_category_id,
382         end_date_active    = X_end_date_active,
383         min_taxable_basis  = X_min_taxable_basis,
384         last_update_date   = X_last_update_date,
385         last_updated_by    = X_last_updated_by,
386         max_taxable_basis  = X_max_taxable_basis,
387         tax_code           = X_tax_code,
388         start_date_active  = X_start_date_active,
389         last_update_login  = X_last_update_login,
390         creation_date      = X_creation_date,
391         created_by         = X_created_by,
392         attribute_category = X_attribute_category,
393         attribute1         = X_attribute1,
394         attribute2         = X_attribute2,
395         attribute3         = X_attribute3,
396         attribute4         = X_attribute4,
397         attribute5         = X_attribute5,
398         attribute6         = X_attribute6,
399         attribute7         = X_attribute7,
400         attribute8         = X_attribute8,
401         attribute9         = X_attribute9,
402         attribute10        = X_attribute10,
403         attribute11        = X_attribute11,
404         attribute12        = X_attribute12,
405         attribute13        = X_attribute13,
406         attribute14        = X_attribute14,
407         attribute15        = X_attribute15
408     WHERE  rowid = X_rowid;
409 
410     IF (SQL%NOTFOUND) THEN
411       raise NO_DATA_FOUND;
412     END IF;
413 
414   END UpDate_Row;
415 
416   PROCEDURE Delete_Row
417        (X_rowid                            VARCHAR2,
418         X_tax_categ_slab_id                NUMBER,
419         X_tax_category_id                  NUMBER,
420         X_end_date_active                  DATE,
421         X_calling_sequence   IN            VARCHAR2) IS
422 
423   BEGIN
424     DELETE
425     FROM   jl_zz_ar_tx_schedules
426     WHERE  rowid = X_rowid;
427 
428     IF (SQL%NOTFOUND) THEN
429       raise NO_DATA_FOUND;
430     END IF;
431   END Delete_Row;
432 
433   PROCEDURE Check_Unique
434        (X_rowid                            VARCHAR2,
435         X_tax_categ_slab_id                NUMBER,
439 
436         X_tax_category_id                  NUMBER,
437         X_end_date_active                  DATE,
438         X_calling_sequence   IN            VARCHAR2) IS
440     l_dummy NUMBER;
441     current_calling_sequence VARCHAR2(2000);
442     debug_info                   VARCHAR2(100);
443 
444   BEGIN
445     --  Update the calling sequence
446     --
447     current_calling_sequence :='JL_ZZ_AR_TX_SCHEDULE_PKG.CHECK_UNIQUE<-' ||
448                                X_calling_sequence;
449     SELECT  COUNT(1)
450     INTO l_dummy
451     FROM jl_zz_ar_tx_schedules
452     WHERE tax_category_id = X_tax_category_id
453     AND tax_categ_slab_id = X_tax_categ_slab_id
454     AND end_date_active = X_end_date_active
455     AND ((X_rowid IS NULL) OR (rowid <> X_rowid));
456 
457     IF (l_dummy >=1) THEN
458       FND_MESSAGE.SET_NAME('SQLAR','AR_DEBUG');
459       FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
460       FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
461       FND_MESSAGE.SET_TOKEN('PARAMETERS',' tax_category_id = ' || X_tax_category_id ||
462                             ' tax_categ_slab_id = ' || X_tax_categ_slab_id ||
463                             ' end_date_active = ' || to_char(X_end_date_active,'YYYY/MM/DD'));
464       FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
465       APP_EXCEPTION.RAISE_EXCEPTION;
466     END IF;
467 
468   END Check_Unique;
469 
470 
471   PROCEDURE Check_Overlapped_Dates
472        (X_rowid                            VARCHAR2,
473         X_tax_categ_slab_id                NUMBER,
474         X_tax_category_id                  NUMBER,
475         X_end_date_active                  DATE,
476         X_start_date_active                DATE,
477         X_calling_sequence   IN            VARCHAR2) IS
478 
479     l_dummy                  NUMBER;
480     current_calling_sequence VARCHAR2(2000);
481     debug_info               VARCHAR2(100);
482 
483   BEGIN
484     --  Update the calling sequence
485     --
486     current_calling_sequence :=' JL_ZZ_AR_TX_SCHEDULES_PKG.<-CHECK_OVERLAPPED_DATES' ||
487                                X_calling_sequence;
488     SELECT COUNT(1)
489     INTO l_dummy
490     FROM jl_zz_ar_tx_schedules a
491     WHERE tax_category_id = X_tax_category_id
492     AND tax_categ_slab_id = X_tax_categ_slab_id
493     AND ((a.end_date_active <= X_end_date_active AND
494           a.end_date_active >= X_start_date_active) OR
495          (a.start_date_active <= X_end_date_active AND
496           a.start_date_active >= X_start_date_active) OR
497          (a.start_date_active <= X_start_date_active AND
498           a.end_date_active >= X_end_date_active))
499     AND ((X_rowid IS NULL) OR (a.rowid <> X_rowid));
500 
501     IF (l_dummy >=1) THEN
502       FND_MESSAGE.SET_NAME('SQLAR','AR_DEBUG');
503       FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
504       FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
505       FND_MESSAGE.SET_TOKEN('PARAMETERS',
506                             ' tax_category_id = ' || to_char(X_tax_category_id) ||
507                             ' tax_categ_slab_id = ' || to_char(X_tax_categ_slab_id) ||
508                             ' end_date_active = ' || to_char(X_end_date_active,'YYYY/MM/DD') ||
509                             ' start_date_active = ' || to_char(X_start_date_active,'YYYY/MM/DD') );
510       FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
511       APP_EXCEPTION.RAISE_EXCEPTION;
512     END IF;
513   END Check_Overlapped_Dates;
514 
515   PROCEDURE Check_Gaps
516        (X_rowid                            VARCHAR2,
517         X_tax_categ_slab_id                NUMBER,
518         X_tax_category_id                  NUMBER,
519         X_end_date_active                  DATE,
520         X_start_date_active                DATE,
521         X_calling_sequence   IN            VARCHAR2) IS
522 
523     l_dummy                  NUMBER;
524     l_dummy1                 NUMBER;
525     l_dummy2                 NUMBER;
526     current_calling_sequence VARCHAR2(2000);
527     debug_info               VARCHAR2(100);
528 
529   BEGIN
530     --  Update the calling sequence
531     --
532     current_calling_sequence := 'JL_ZZ_AR_TX_SCHEDULES_PKG.CHECK_GAPS<-' ||
533                                 X_calling_sequence;
534     --
535     --  Check if there is one row with it's end date exactly one day
536     --  less than the current row's start date
537     --
538     SELECT COUNT(1)
539     INTO l_dummy
540     FROM jl_zz_ar_tx_schedules a
541     WHERE a.tax_category_id = X_tax_category_id
542     AND a.tax_categ_slab_id = X_tax_categ_slab_id
543     AND trunc(a.end_date_active) = (trunc(X_start_date_active) -1)
544     AND ((X_rowid IS NULL) OR (a.rowid <> X_rowid));
545 
546     IF (l_dummy = 0) THEN
547       BEGIN
548         --
549         -- Check if there is one row with the start date one day more than the
550         -- the current row's end-date
551         --
552         SELECT COUNT(1)
553         INTO   l_dummy1
554         FROM jl_zz_ar_tx_schedules a
555         WHERE a.tax_category_id = X_tax_category_id
556         AND a.tax_categ_slab_id = X_tax_categ_slab_id
557         AND (trunc(a.start_date_active) = (trunc(X_end_date_active) + 1))
558         AND ((X_rowid IS NULL) OR (a.rowid <> X_rowid));
559         --
560         -- Check if there are no (other) rows at all for the primary key.
561         -- If there are no rows, then it is not an error.  Otherwise, it is.
562         --
563         IF (l_dummy1 = 0) THEN
564           BEGIN
565             SELECT COUNT(1)
566             INTO   l_dummy2
567             FROM jl_zz_ar_tx_schedules a
568             WHERE a.tax_category_id = X_tax_category_id
569             AND a.tax_categ_slab_id = X_tax_categ_slab_id
570             AND ((X_rowid IS NULL) OR (a.rowid <> X_rowid));
571 
572             IF (l_dummy2 <> 0) THEN
573               FND_MESSAGE.SET_NAME('SQLAR','AR_DEBUG');
574               FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
575               FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',current_calling_sequence);
576               FND_MESSAGE.SET_TOKEN('PARAMETERS',
577                                     ' tax_category_id = ' || to_char(X_tax_category_id) ||
578                                     ' tax_categ_slab_id = ' || X_tax_categ_slab_id ||
579                                     ' end_date_active = ' || to_char(X_end_date_active,'YYYY/MM/DD') ||
580                                     ' start_date_active = ' || to_char(X_start_date_active,'YYYY/MM/DD') );
581               FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
582               APP_EXCEPTION.RAISE_EXCEPTION;
583             END IF;
584           END;
585         END IF;
586       END;
587     END IF;
588   END Check_Gaps;
589 
590 END JL_ZZ_AR_TX_SCHEDULES_PKG;