DBA Data[Home] [Help]

PACKAGE BODY: APPS.GL_RECURRING_BATCHES_PKG

Source


1 PACKAGE BODY GL_RECURRING_BATCHES_PKG as
2 /* $Header: glirecbb.pls 120.5.12020000.2 2012/08/28 21:00:27 phmullap ship $ */
3 
4 
5   --
6   -- PUBLIC FUNCTIONS
7   --
8 
9   PROCEDURE check_unique( x_rowid VARCHAR2,
10                           x_name  VARCHAR2,
11                           x_coaid NUMBER,
12                           x_period_set_name      VARCHAR2,
13                           x_accounted_period_type VARCHAR2) IS
14 
15     CURSOR c_dup IS
16       SELECT 'Duplicate'
17       FROM   gl_recurring_batches b
18       WHERE  upper( b.name) = upper( x_name )
19         AND  b.chart_of_accounts_id = x_coaid
20         AND  b.period_set_name = x_period_set_name
21         AND  b.accounted_period_type = x_accounted_period_type
22         AND    ( x_rowid is NULL
23                OR
24                b.rowid <> x_rowid );
25 
26     dummy VARCHAR2(100);
27 
28   BEGIN
29     OPEN  c_dup;
30     FETCH c_dup INTO dummy;
31 
32     IF c_dup%FOUND THEN
33       CLOSE c_dup;
34       fnd_message.set_name( 'SQLGL', 'GL_DUPLICATE_REC_BATCH' );
35       app_exception.raise_exception;
36     END IF;
37 
38     CLOSE c_dup;
39 
40   EXCEPTION
41     WHEN app_exceptions.application_exception THEN
42       RAISE;
43     WHEN OTHERS THEN
44       fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
45       fnd_message.set_token('PROCEDURE',
46         'GL_RECURRING_BATCHES_PKG.check_unique');
47       RAISE;
48 
49   END check_unique;
50 
51 -- **********************************************************************
52 
53   FUNCTION get_unique_id RETURN NUMBER IS
54 
55     CURSOR c_getid IS
56       SELECT GL_RECURRING_BATCHES_S.NEXTVAL
57       FROM   dual;
58 
59     id number;
60 
61   BEGIN
62     OPEN  c_getid;
63     FETCH c_getid INTO id;
64 
65     IF c_getid%FOUND THEN
66       CLOSE c_getid;
67       RETURN( id );
68     ELSE
69       CLOSE c_getid;
70       fnd_message.set_name('SQLGL', 'GL_ERROR_GETTING_UNIQUE_ID');
71       fnd_message.set_token('SEQUENCE', 'GL_RECURRING_BATCHES_S');
72       app_exception.raise_exception;
73     END IF;
74 
75   EXCEPTION
76     WHEN app_exceptions.application_exception THEN
77       RAISE;
78     WHEN OTHERS THEN
79       fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
80       fnd_message.set_token('PROCEDURE',
81         'GL_RECURRING_BATCHES_PKG.get_unique_id');
82       RAISE;
83 
84   END get_unique_id;
85 
86 -- **********************************************************************
87 
88   PROCEDURE copy_recurring( X_Src_Batch_Id      NUMBER,
89                             X_Trg_Batch_Id 	NUMBER,
90                             X_Created_By        NUMBER,
91                             X_Last_Updated_By   NUMBER,
92                             X_Last_Update_Login NUMBER   ) IS
93 
94     CURSOR c_src_header IS
95       SELECT	h.RECURRING_HEADER_ID
96       FROM 	GL_RECURRING_HEADERS h
97       WHERE 	h.RECURRING_BATCH_ID = X_Src_Batch_Id;
98 
99     src_header_id  	NUMBER;
100     trg_header_id  	NUMBER;
101 
102   BEGIN
103 
104     OPEN c_src_header;
105 
106 
107     LOOP
108       FETCH 	c_src_header
109       INTO  	src_header_id;
110 
111       EXIT WHEN c_src_header%NOTFOUND;
112 
113       trg_header_id := GL_RECURRING_HEADERS_PKG.get_unique_id;
114 
115 
116       INSERT INTO GL_RECURRING_HEADERS
117       (
118         RECURRING_HEADER_ID,
119         LAST_UPDATE_DATE,
120         LAST_UPDATED_BY,
121         LEDGER_ID,
122         NAME,
123         JE_CATEGORY_NAME,
124         ENABLED_FLAG,
125         ALLOCATION_FLAG,
126         CREATION_DATE,
127         CREATED_BY,
128         LAST_UPDATE_LOGIN,
129         RECURRING_BATCH_ID,
130         PERIOD_TYPE,
131         LAST_EXECUTED_PERIOD_NAME,
132         LAST_EXECUTED_DATE,
133         START_DATE_ACTIVE,
134         END_DATE_ACTIVE,
135         ATTRIBUTE1,
136         ATTRIBUTE2,
137         ATTRIBUTE3,
138         ATTRIBUTE4,
139         ATTRIBUTE5,
140         ATTRIBUTE6,
141         ATTRIBUTE7,
142         ATTRIBUTE8,
143         ATTRIBUTE9,
144         ATTRIBUTE10,
145         CONTEXT,
146         CURRENCY_CODE,
147         CURRENCY_CONVERSION_TYPE
148       )
149       SELECT
150         trg_header_id,
151         sysdate,
152         X_Last_Updated_By,
153         LEDGER_ID,
154         NAME,
155         JE_CATEGORY_NAME,
156         ENABLED_FLAG,
157         ALLOCATION_FLAG,
158         sysdate,
159         X_Created_By,
160         X_Last_Update_Login,
161         X_Trg_Batch_Id,
162         PERIOD_TYPE,
163         NULL,
164         NULL,
165         START_DATE_ACTIVE,
166         END_DATE_ACTIVE,
167         ATTRIBUTE1,
168         ATTRIBUTE2,
169         ATTRIBUTE3,
170         ATTRIBUTE4,
171         ATTRIBUTE5,
172         ATTRIBUTE6,
173         ATTRIBUTE7,
174         ATTRIBUTE8,
175         ATTRIBUTE9,
176         ATTRIBUTE10,
177         CONTEXT,
178         CURRENCY_CODE,
179         CURRENCY_CONVERSION_TYPE
180       FROM GL_RECURRING_HEADERS
181       WHERE RECURRING_HEADER_ID = src_header_id;
182 
183 
184       INSERT INTO GL_RECURRING_LINES
185       (
186         RECURRING_HEADER_ID,
187         RECURRING_LINE_NUM,
188         LAST_UPDATE_DATE,
189         LAST_UPDATED_BY,
190         CODE_COMBINATION_ID,
191         ENTERED_CURRENCY_CODE,
192         CREATION_DATE,
193         CREATED_BY,
194         LAST_UPDATE_LOGIN,
195         DESCRIPTION,
196         ENTERED_DR,
197         ENTERED_CR,
198         ATTRIBUTE1,
199         ATTRIBUTE2,
200         ATTRIBUTE3,
201         ATTRIBUTE4,
202         ATTRIBUTE5,
203         ATTRIBUTE6,
204         ATTRIBUTE7,
205         ATTRIBUTE8,
206         ATTRIBUTE9,
207         ATTRIBUTE10,
208         CONTEXT
209       )
210       SELECT
211         trg_header_id,
212         RECURRING_LINE_NUM,
213         sysdate,
214         X_Last_Updated_By,
215         CODE_COMBINATION_ID,
216         ENTERED_CURRENCY_CODE,
217         sysdate,
218         X_Created_By,
219         X_Last_Update_Login,
220         DESCRIPTION,
221         ENTERED_DR,
222         ENTERED_CR,
223         ATTRIBUTE1,
224         ATTRIBUTE2,
225         ATTRIBUTE3,
226         ATTRIBUTE4,
227         ATTRIBUTE5,
228         ATTRIBUTE6,
229         ATTRIBUTE7,
230         ATTRIBUTE8,
231         ATTRIBUTE9,
232         ATTRIBUTE10,
233         CONTEXT
234       FROM GL_RECURRING_LINES
235       WHERE RECURRING_HEADER_ID = src_header_id;
236 
237 
238       INSERT INTO GL_RECURRING_LINE_CALC_RULES
239       (
240         RECURRING_HEADER_ID,
241         RECURRING_LINE_NUM,
242         RULE_NUM,
243         LAST_UPDATE_DATE,
244         LAST_UPDATED_BY,
245         OPERATOR,
246         CREATION_DATE,
247         CREATED_BY,
248         LAST_UPDATE_LOGIN,
249         AMOUNT,
250         ASSIGNED_CODE_COMBINATION,
251         TEMPLATE_ID,
252 	AMOUNT_TYPE,
253         ACTUAL_FLAG,
254         LEDGER_CURRENCY,
255         CURRENCY_TYPE,
256         ENTERED_CURRENCY,
257         LEDGER_ID,
258         RELATIVE_PERIOD_CODE,
259         SEGMENT1,
260         SEGMENT2,
261         SEGMENT3,
262         SEGMENT4,
263         SEGMENT5,
264         SEGMENT6,
265         SEGMENT7,
266         SEGMENT8,
267         SEGMENT9,
268         SEGMENT10,
269         SEGMENT11,
270         SEGMENT12,
271         SEGMENT13,
272         SEGMENT14,
273         SEGMENT15,
274         SEGMENT16,
275         SEGMENT17,
276         SEGMENT18,
277         SEGMENT19,
278         SEGMENT20,
279         SEGMENT21,
280         SEGMENT22,
281         SEGMENT23,
282         SEGMENT24,
283         SEGMENT25,
284         SEGMENT26,
285         SEGMENT27,
286         SEGMENT28,
287         SEGMENT29,
288         SEGMENT30,
289         ATTRIBUTE1,
290         ATTRIBUTE2,
291         ATTRIBUTE3,
292         ATTRIBUTE4,
293         ATTRIBUTE5,
294         CONTEXT
295       )
296       SELECT
297         trg_header_id,
298         RECURRING_LINE_NUM,
299         RULE_NUM,
300         sysdate,
301         X_Last_Updated_By,
302         OPERATOR,
303         sysdate,
304         X_Created_By,
305         X_Last_Update_Login,
306         AMOUNT,
307         ASSIGNED_CODE_COMBINATION,
308         TEMPLATE_ID,
309 	AMOUNT_TYPE,
310         ACTUAL_FLAG,
311         LEDGER_CURRENCY,
312         CURRENCY_TYPE,
313         ENTERED_CURRENCY,
314         LEDGER_ID,
315         RELATIVE_PERIOD_CODE,
316         SEGMENT1,
317         SEGMENT2,
318         SEGMENT3,
319         SEGMENT4,
320         SEGMENT5,
321         SEGMENT6,
322         SEGMENT7,
323         SEGMENT8,
324         SEGMENT9,
325         SEGMENT10,
326         SEGMENT11,
327         SEGMENT12,
328         SEGMENT13,
329         SEGMENT14,
330         SEGMENT15,
331         SEGMENT16,
332         SEGMENT17,
333         SEGMENT18,
334         SEGMENT19,
335         SEGMENT20,
336         SEGMENT21,
337         SEGMENT22,
338         SEGMENT23,
339         SEGMENT24,
340         SEGMENT25,
341         SEGMENT26,
342         SEGMENT27,
343         SEGMENT28,
344         SEGMENT29,
345         SEGMENT30,
346         ATTRIBUTE1,
347         ATTRIBUTE2,
348         ATTRIBUTE3,
349         ATTRIBUTE4,
350         ATTRIBUTE5,
351         CONTEXT
352       FROM GL_RECURRING_LINE_CALC_RULES
353       WHERE RECURRING_HEADER_ID = src_header_id;
354 
355     END LOOP;
356 
357     CLOSE c_src_header;
358     COMMIT;
359 
360   EXCEPTION
361     WHEN app_exceptions.application_exception THEN
362       RAISE;
363     WHEN OTHERS THEN
364       fnd_message.set_name('SQLGL', 'GL_UNHANDLED_EXCEPTION');
365       fnd_message.set_token('PROCEDURE',
366         'GL_RECURRING_BATCHES_PKG.copy_recurring');
367       RAISE;
368 
369   END copy_recurring;
370 
371 -- **********************************************************************
372 
373   PROCEDURE Insert_Row( X_Rowid                   IN OUT NOCOPY VARCHAR2,
374                        X_Recurring_Batch_Id             IN OUT NOCOPY NUMBER,
375                        X_Last_Update_Date               DATE,
376                        X_Last_Updated_By                NUMBER,
377                        X_Ledger_Id                      NUMBER,
378                        X_Chart_Of_Accounts_Id           NUMBER,
379                        X_Period_Set_Name                VARCHAR2,
380                        X_Accounted_Period_Type          VARCHAR2,
381                        X_Recurring_Batch_Type           VARCHAR2,
382                        X_Security_Flag                  VARCHAR2,
383                        X_Name                           VARCHAR2,
384                        X_Budget_Flag                    VARCHAR2,
385                        X_Allocation_Flag                VARCHAR2,
386                        X_Creation_Date                  DATE,
387                        X_Created_By                     NUMBER,
388                        X_Last_Update_Login              NUMBER,
389                        X_Budget_In_Formula_Flag         VARCHAR2,
390                        X_Description                    VARCHAR2,
391                        X_Period_Type                    VARCHAR2,
392                        X_Last_Executed_Period_Name      VARCHAR2,
393                        X_Last_Executed_Date             DATE,
394                        X_Attribute1                     VARCHAR2,
395                        X_Attribute2                     VARCHAR2,
396                        X_Attribute3                     VARCHAR2,
397                        X_Attribute4                     VARCHAR2,
398                        X_Attribute5                     VARCHAR2,
399                        X_Attribute6                     VARCHAR2,
400                        X_Attribute7                     VARCHAR2,
401                        X_Attribute8                     VARCHAR2,
402                        X_Attribute9                     VARCHAR2,
403                        X_Attribute10                    VARCHAR2,
404                        X_Context                        VARCHAR2
405   ) IS
406     CURSOR C IS SELECT rowid FROM gl_recurring_batches
407                  WHERE recurring_batch_id = X_Recurring_Batch_Id;
408       CURSOR C2 IS SELECT gl_recurring_batches_s.nextval FROM sys.dual;
409 
410 
411 
412    BEGIN
413 
414 
415 -- Consolidating call to check unique to save on round trips
416 check_unique(X_rowid, X_name, X_Chart_Of_Accounts_Id, X_Period_Set_Name, X_Accounted_Period_Type);
417 
418       if (X_Recurring_Batch_Id is NULL) then
419         OPEN C2;
420         FETCH C2 INTO X_Recurring_Batch_Id;
421         CLOSE C2;
422       end if;
423 
424        INSERT INTO gl_recurring_batches(
425 
426               recurring_batch_id,
427               last_update_date,
428               last_updated_by,
429               ledger_id,
430               chart_of_accounts_id,
431               period_set_name,
432               accounted_period_type,
433               recurring_batch_type,
434               security_flag,
435               name,
436               budget_flag,
437               allocation_flag,
438               creation_date,
439               created_by,
440               last_update_login,
441               budget_in_formula_flag,
442               description,
443               period_type,
444               last_executed_period_name,
445               last_executed_date,
446               attribute1,
447               attribute2,
448               attribute3,
449               attribute4,
450               attribute5,
451               attribute6,
452               attribute7,
453               attribute8,
454               attribute9,
455               attribute10,
456               context
457              ) VALUES (
458 
459               X_Recurring_Batch_Id,
460               X_Last_Update_Date,
461               X_Last_Updated_By,
462               X_Ledger_Id,
463               X_Chart_Of_Accounts_Id,
464               X_Period_Set_Name,
465               X_Accounted_Period_Type,
466               X_Recurring_Batch_Type,
467               X_Security_Flag,
468               X_Name,
469               X_Budget_Flag,
470               X_Allocation_Flag,
471               X_Creation_Date,
472               X_Created_By,
473               X_Last_Update_Login,
474               X_Budget_In_Formula_Flag,
475               X_Description,
476               X_Period_Type,
477               X_Last_Executed_Period_Name,
478               X_Last_Executed_Date,
479               X_Attribute1,
480               X_Attribute2,
481               X_Attribute3,
482               X_Attribute4,
483               X_Attribute5,
484               X_Attribute6,
485               X_Attribute7,
486               X_Attribute8,
487               X_Attribute9,
488               X_Attribute10,
489               X_Context
490 
491              );
492 
493     OPEN C;
494     FETCH C INTO X_Rowid;
495     if (C%NOTFOUND) then
496       CLOSE C;
497       Raise NO_DATA_FOUND;
498      end if;
499     CLOSE C;
500 
501   END Insert_Row;
502 
503 -- **********************************************************************
504 
505 
506 
507 
508   PROCEDURE Lock_Row( X_Rowid                           VARCHAR2,
509                      X_Recurring_Batch_Id               NUMBER,
510                      X_Ledger_Id                        NUMBER,
511                      X_Chart_Of_Accounts_Id             NUMBER,
512                      X_Period_Set_Name                  VARCHAR2,
513                      X_Accounted_Period_Type            VARCHAR2,
514                      X_Recurring_Batch_Type             VARCHAR2,
515                      X_Security_Flag                    VARCHAR2,
516                      X_Name                             VARCHAR2,
517                      X_Budget_Flag                      VARCHAR2,
518                      X_Allocation_Flag                  VARCHAR2,
519                      X_Budget_In_Formula_Flag           VARCHAR2,
520                      X_Description                      VARCHAR2,
521                      X_Period_Type                      VARCHAR2,
522                      X_Last_Executed_Period_Name        VARCHAR2,
523                      X_Last_Executed_Date               DATE,
524                      X_Attribute1                       VARCHAR2,
525                      X_Attribute2                       VARCHAR2,
526                      X_Attribute3                       VARCHAR2,
527                      X_Attribute4                       VARCHAR2,
528                      X_Attribute5                       VARCHAR2,
529                      X_Attribute6                       VARCHAR2,
530                      X_Attribute7                       VARCHAR2,
531                      X_Attribute8                       VARCHAR2,
532                      X_Attribute9                       VARCHAR2,
533                      X_Attribute10                      VARCHAR2,
534                      X_Context                          VARCHAR2
535   ) IS
536       CURSOR C IS
537           SELECT *
538           FROM   gl_recurring_batches
539           WHERE  rowid = X_Rowid
540           FOR UPDATE of Recurring_Batch_Id NOWAIT;
541       Recinfo C%ROWTYPE;
542 
543 
544   BEGIN
545 
546     OPEN C;
547     FETCH C INTO Recinfo;
548     if (C%NOTFOUND) then
549       CLOSE C;
550       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
551       APP_EXCEPTION.Raise_Exception;
552     end if;
553     CLOSE C;
554     if (
555                (Recinfo.recurring_batch_id =  X_Recurring_Batch_Id)
556            AND (   (Recinfo.ledger_id =  X_Ledger_Id)
557                 OR (   (Recinfo.ledger_id IS NULL)
558                     AND   (X_Ledger_Id IS NULL)))
559            AND (Recinfo.chart_of_accounts_id =X_Chart_Of_Accounts_Id)
560            AND (Recinfo.period_set_name = X_Period_Set_Name)
561            AND (Recinfo.accounted_period_type = X_Accounted_Period_Type)
562            AND (Recinfo.recurring_batch_type = X_Recurring_Batch_Type)
563            AND (Recinfo.security_flag =  X_Security_Flag)
564            AND (Recinfo.name =  X_Name)
565            AND (Recinfo.budget_flag =  X_Budget_Flag)
566            AND (Recinfo.allocation_flag =  X_Allocation_Flag)
567            AND (   (Recinfo.budget_in_formula_flag =  X_Budget_In_Formula_Flag)
568                 OR (    (Recinfo.budget_in_formula_flag IS NULL)
569                     AND (X_Budget_In_Formula_Flag IS NULL)))
570           AND (   (Recinfo.description =  X_Description)
571                 OR (    (Recinfo.description IS NULL)
572                     AND (X_Description IS NULL)))
573           AND (   (Recinfo.period_type =  X_Period_Type)
574                 OR (    (Recinfo.period_type IS NULL)
575                     AND (X_Period_Type IS NULL)))
576            AND (   (Recinfo.last_executed_period_name =  X_Last_Executed_Period_Name)
577                 OR (    (Recinfo.last_executed_period_name IS NULL)
578                     AND (X_Last_Executed_Period_Name IS NULL)))
579            AND (   (Recinfo.last_executed_date =  X_Last_Executed_Date)
580                 OR (    (Recinfo.last_executed_date IS NULL)
581                     AND (X_Last_Executed_Date IS NULL)))
582            AND (   (Recinfo.attribute1 =  X_Attribute1)
583                 OR (    (Recinfo.attribute1 IS NULL)
584                     AND (X_Attribute1 IS NULL)))
585            AND (   (Recinfo.attribute2 =  X_Attribute2)
586                 OR (    (Recinfo.attribute2 IS NULL)
587                     AND (X_Attribute2 IS NULL)))
588            AND (   (Recinfo.attribute3 =  X_Attribute3)
589                 OR (    (Recinfo.attribute3 IS NULL)
590                     AND (X_Attribute3 IS NULL)))
591            AND (   (Recinfo.attribute4 =  X_Attribute4)
592                 OR (    (Recinfo.attribute4 IS NULL)
593                     AND (X_Attribute4 IS NULL)))
594            AND (   (Recinfo.attribute5 =  X_Attribute5)
595                 OR (    (Recinfo.attribute5 IS NULL)
596                     AND (X_Attribute5 IS NULL)))
597            AND (   (Recinfo.attribute6 =  X_Attribute6)
598                 OR (    (Recinfo.attribute6 IS NULL)
599                     AND (X_Attribute6 IS NULL)))
600           AND (   (Recinfo.attribute7 =  X_Attribute7)
601                 OR (    (Recinfo.attribute7 IS NULL)
602                     AND (X_Attribute7 IS NULL)))
603            AND (   (Recinfo.attribute8 =  X_Attribute8)
604                 OR (    (Recinfo.attribute8 IS NULL)
605                     AND (X_Attribute8 IS NULL)))
606            AND (   (Recinfo.attribute9 =  X_Attribute9)
607                 OR (    (Recinfo.attribute9 IS NULL)
608                     AND (X_Attribute9 IS NULL)))
609            AND (   (Recinfo.attribute10 =  X_Attribute10)
610                 OR (    (Recinfo.attribute10 IS NULL)
611                     AND (X_Attribute10 IS NULL)))
612            AND (   (Recinfo.context =  X_Context)
613                 OR (    (Recinfo.context IS NULL)
614                     AND (X_Context IS NULL)))
615       ) then
616       return;
617     else
618       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
619       APP_EXCEPTION.Raise_Exception;
620     end if;
621   END Lock_Row;
622 
623 
624 
625   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
626 
627                        X_Recurring_Batch_Id             NUMBER,
628                        X_Last_Update_Date               DATE,
629                        X_Last_Updated_By                NUMBER,
630                        X_Ledger_Id                      NUMBER,
631                        X_Chart_Of_Accounts_Id           NUMBER,
632                        X_Period_Set_Name                VARCHAR2,
633                        X_Accounted_Period_Type          VARCHAR2,
634                        X_Recurring_Batch_Type           VARCHAR2,
635                        X_Security_Flag                  VARCHAR2,
636                        X_Name                           VARCHAR2,
637                        X_Budget_Flag                    VARCHAR2,
638                        X_Allocation_Flag                VARCHAR2,
639                        X_Last_Update_Login              NUMBER,
640                        X_Budget_In_Formula_Flag         VARCHAR2,
641                        X_Description                    VARCHAR2,
642                        X_Period_Type                    VARCHAR2,
643                        X_Last_Executed_Period_Name      VARCHAR2,
644                        X_Last_Executed_Date             DATE,
645                        X_Attribute1                     VARCHAR2,
646                        X_Attribute2                     VARCHAR2,
647                        X_Attribute3                     VARCHAR2,
648                        X_Attribute4                     VARCHAR2,
649                        X_Attribute5                     VARCHAR2,
650                        X_Attribute6                     VARCHAR2,
651                        X_Attribute7                     VARCHAR2,
652                        X_Attribute8                     VARCHAR2,
653                        X_Attribute9                     VARCHAR2,
654                        X_Attribute10                    VARCHAR2,
655                        X_Context                        VARCHAR2
656 
657   ) IS
658   BEGIN
659 
660 -- Consolidating call to check unique to save on round trips
661 -- check_unique(X_rowid, X_name, X_Set_Of_Books_Id);
662 check_unique(X_rowid, X_name, X_Chart_Of_Accounts_Id, X_Period_Set_Name, X_Accounted_Period_Type);
663 
664 
665     UPDATE gl_recurring_batches
666     SET
667        recurring_batch_id              =     X_Recurring_Batch_Id,
668        last_update_date                =     X_Last_Update_Date,
669        last_updated_by                 =     X_Last_Updated_By,
670        ledger_id                       =     X_Ledger_Id,
671        chart_of_accounts_id            =     X_Chart_Of_Accounts_Id,
672        period_set_name                 =     X_Period_Set_Name,
673        accounted_period_type           =     X_Accounted_Period_Type,
674        recurring_batch_type            =     X_Recurring_Batch_Type,
675        security_flag                   =     X_Security_Flag,
676        name                            =     X_Name,
677        budget_flag                     =     X_Budget_Flag,
678        allocation_flag                 =     X_Allocation_Flag,
679        last_update_login               =     X_Last_Update_Login,
680        budget_in_formula_flag          =     X_Budget_In_Formula_Flag,
681        description                     =     X_Description,
682        period_type                     =     X_Period_Type,
683        last_executed_period_name       =     X_Last_Executed_Period_Name,
684        last_executed_date              =     X_Last_Executed_Date,
685        attribute1                      =     X_Attribute1,
686        attribute2                      =     X_Attribute2,
687        attribute3                      =     X_Attribute3,
688        attribute4                      =     X_Attribute4,
689        attribute5                      =     X_Attribute5,
690        attribute6                      =     X_Attribute6,
691        attribute7                      =     X_Attribute7,
692        attribute8                      =     X_Attribute8,
693        attribute9                      =     X_Attribute9,
694        attribute10                     =     X_Attribute10,
695        context                         =     X_Context
696     WHERE rowid = X_Rowid;
697 
698     if (SQL%NOTFOUND) then
699       Raise NO_DATA_FOUND;
700     end if;
701   END Update_Row;
702 
703   PROCEDURE Delete_Row(X_Rowid VARCHAR2) IS
704     CURSOR chk_autoalloc_set is
705       SELECT 'Batch used in AutoAlloc set'
706       FROM   GL_RECURRING_BATCHES rb, GL_AUTO_ALLOC_BATCHES aab
707       WHERE  rb.rowid = X_Rowid
708       AND    aab.batch_id = rb.recurring_batch_id
709       AND    aab.batch_type_code = 'R';--added this condition for bug13324816
710     dummy VARCHAR2(100);
711   BEGIN
712     OPEN chk_autoalloc_set;
713     FETCH chk_autoalloc_set INTO dummy;
714 
715     IF chk_autoalloc_set%FOUND THEN
716       CLOSE chk_autoalloc_set;
717       fnd_message.set_name('SQLGL', 'GL_RJE_USED_IN_ALLOC_SET');
718       app_exception.raise_exception;
719     END IF;
720 
721     CLOSE chk_autoalloc_set;
722 
723     DELETE FROM gl_recurring_batches
724     WHERE rowid = X_Rowid;
725 
726     if (SQL%NOTFOUND) then
727       Raise NO_DATA_FOUND;
728     end if;
729   END Delete_Row;
730 
731 PROCEDURE check_batch(X_Recurring_Batch_Id NUMBER) IS
732   CURSOR chk_autoalloc_set IS
733 	SELECT 'Batch used in AutoAlloc set'
734 	FROM GL_AUTO_ALLOC_BATCHES aab
735         WHERE aab.batch_id = X_Recurring_Batch_Id
736 	AND    aab.batch_type_code = 'R';--added this condition for bug13324816
737   dummy 	VARCHAR2(100);
738 BEGIN
739   -- Make sure that this recurring batch is not being used by any
740   -- of the AutoAllocation set
741     OPEN chk_autoalloc_set;
742     FETCH chk_autoalloc_set INTO dummy;
743 
744     IF (chk_autoalloc_set%NOTFOUND) THEN
745       CLOSE chk_autoalloc_set;
746     ELSE
747       -- it is being used by some AutoAllocation sets, exit
748       CLOSE chk_autoalloc_set;
749       fnd_message.set_name('SQLGL', 'GL_RJE_USED_IN_ALLOC_SET');
750       app_exception.raise_exception;
751     END IF;
752 
753 END check_batch;
754 
755 
756 
757 -- **********************************************************************
758 
759 
760 END GL_RECURRING_BATCHES_PKG;