DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_BUD_JOURNAL_BATCHES_PKG

Source


1 PACKAGE BODY IGI_BUD_JOURNAL_BATCHES_PKG as
2 -- $Header: igibudgb.pls 120.5 2007/09/12 10:34:12 pshivara ship $
3 
4 --Bug 3199481
5 
6 l_debug_level   number := FND_LOG.G_CURRENT_RUNTIME_LEVEL ;
7 
8 l_state_level   number := FND_LOG.LEVEL_STATEMENT ;
9 l_proc_level    number := FND_LOG.LEVEL_PROCEDURE ;
10 l_event_level   number := FND_LOG.LEVEL_EVENT ;
11 l_excep_level   number := FND_LOG.LEVEL_EXCEPTION ;
12 l_error_level   number := FND_LOG.LEVEL_ERROR ;
13 l_unexp_level   number := FND_LOG.LEVEL_UNEXPECTED ;
14 
15 --Bug 3199481
16 
17   PROCEDURE Insert_Row(X_Rowid                   IN OUT NOCOPY VARCHAR2,
18                        X_Be_Batch_Id             IN OUT NOCOPY NUMBER,
19                        X_Fiscal_Year             NUMBER,
20                        X_Name                    VARCHAR2,
21                        X_Set_Of_Books_Id         NUMBER,
22                        X_Record_Type             VARCHAR2,
23                        X_Complete_Flag           VARCHAR2,
24                        X_Control_Total           NUMBER,
25                        X_Running_Total_Dr        NUMBER,
26                        X_Running_Total_Cr        NUMBER,
27                        X_Date_Completed          DATE,
28                        X_Creation_Date           DATE,
29                        X_Created_By              NUMBER,
30                        X_Last_Update_Date        DATE,
31                        X_Last_Updated_By         NUMBER,
32                        X_Last_Update_Login       NUMBER
33   ) IS
34 
35     CURSOR C IS SELECT rowid FROM IGI_BUD_JOURNAL_BATCHES
36                  WHERE be_batch_id = X_Be_Batch_Id;
37     CURSOR C2 IS SELECT gl_interface_control_s.nextval FROM sys.dual;
38 
39    BEGIN
40       if (X_Be_Batch_Id is NULL) then
41         OPEN C2;
42         FETCH C2 INTO X_Be_Batch_Id;
43         CLOSE C2;
44       end if;
45 
46        INSERT INTO IGI_BUD_JOURNAL_BATCHES(
47               be_batch_id,
48               fiscal_year,
49               name,
50               set_of_books_id,
51               record_type,
52               complete_flag,
53               control_total,
54               running_total_dr,
55               running_total_cr,
56               date_completed,
57               creation_date,
58               created_by,
59               last_update_date,
60               last_updated_by,
61               last_update_login
62              ) VALUES (
63               X_Be_Batch_Id,
64               X_Fiscal_Year,
65               X_Name,
66               X_Set_Of_Books_Id,
67               X_Record_Type,
68               X_Complete_Flag,
69               X_Control_Total,
70               X_Running_Total_Dr,
71               X_Running_Total_Cr,
72               X_Date_Completed,
73               X_Creation_Date,
74               X_Created_By,
75               X_Last_Update_Date,
76               X_Last_Updated_By,
77               X_Last_Update_Login
78              );
79 
80     OPEN C;
81     FETCH C INTO X_Rowid;
82     if (C%NOTFOUND) then
83       CLOSE C;
84       Raise NO_DATA_FOUND;
85     end if;
86     CLOSE C;
87   END Insert_Row;
88 
89 
90   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
91                      X_Be_Batch_Id                      NUMBER,
92                      X_Fiscal_Year                      NUMBER,
93                      X_Name                             VARCHAR2,
94                      X_Set_Of_Books_Id                  NUMBER,
95                      X_Record_Type                      VARCHAR2,
96                      X_Complete_Flag                    VARCHAR2,
97                      X_Control_Total                    NUMBER,
98                      X_Running_Total_Dr                 NUMBER,
99                      X_Running_Total_Cr                 NUMBER,
100                      X_Date_Completed                   DATE
101   ) IS
102     CURSOR C IS
103         SELECT *
104         FROM   IGI_BUD_JOURNAL_BATCHES
105         WHERE  rowid = X_Rowid
106         FOR UPDATE of Be_Batch_Id NOWAIT;
107     Recinfo C%ROWTYPE;
108 
109 
110   BEGIN
111 
112     OPEN C;
113     FETCH C INTO Recinfo;
114     if (C%NOTFOUND) then
115       CLOSE C;
116       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
117       --Bug 3199481 (start)
118       If (l_unexp_level >= l_debug_level) then
119          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journal_headers_pkg.lock_row.Msg1',FALSE);
120       End if;
121       --Bug 3199481 (End)
122       APP_EXCEPTION.Raise_Exception;
123     end if;
124     CLOSE C;
125 
126     if (
127                (Recinfo.be_batch_id =  X_Be_Batch_Id)
128            AND (Recinfo.fiscal_year =  X_Fiscal_Year)
129            AND (Recinfo.name =  X_Name)
130            AND (Recinfo.set_of_books_id =  X_Set_Of_Books_Id)
131            AND (Recinfo.record_type =  X_Record_Type)
132            AND (Recinfo.complete_flag =  X_Complete_Flag)
133            AND (   (Recinfo.control_total =  X_Control_Total)
134                 OR (    (Recinfo.control_total IS NULL)
135                     AND (X_Control_Total IS NULL)))
136            AND (   (Recinfo.running_total_dr =  X_Running_Total_Dr)
137                 OR (    (Recinfo.running_total_dr IS NULL)
138                     AND (X_Running_Total_Dr IS NULL)))
139            AND (   (Recinfo.running_total_cr =  X_Running_Total_Cr)
140                 OR (    (Recinfo.running_total_cr IS NULL)
141                     AND (X_Running_Total_Cr IS NULL)))
142            AND (   (Recinfo.date_completed =  X_Date_Completed)
143                 OR (    (Recinfo.date_completed IS NULL)
144                     AND (X_Date_Completed IS NULL)))
145       ) then
146       return;
147     else
148       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
149       --Bug 3199481 (start)
150       If (l_unexp_level >= l_debug_level) then
151          FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journal_headers_pkg.lock_row.Msg2',FALSE);
152       End if;
153       --Bug 3199481 (End)
154       APP_EXCEPTION.Raise_Exception;
155     end if;
156 
157   END Lock_Row;
158 
159   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
160                        X_Be_Batch_Id                    NUMBER,
161                        X_Fiscal_Year                    NUMBER,
162                        X_Name                           VARCHAR2,
163                        X_Set_Of_Books_Id                NUMBER,
164                        X_Record_Type                    VARCHAR2,
165                        X_Complete_Flag                  VARCHAR2,
166                        X_Control_Total                  NUMBER,
167                        X_Running_Total_Dr               NUMBER,
168                        X_Running_Total_Cr               NUMBER,
169                        X_Date_Completed                 DATE,
170                        X_Last_Update_Date               DATE,
171                        X_Last_Updated_By                NUMBER,
172                        X_Last_Update_Login              NUMBER,
173                        X_REQUEST_ID                     NUMBER  -- bug 5982297
174   ) IS
175   BEGIN
176     UPDATE IGI_BUD_JOURNAL_BATCHES
177     SET
178        be_batch_id                     =     X_Be_Batch_Id,
179        fiscal_year                     =     X_Fiscal_Year,
180        name                            =     X_Name,
181        set_of_books_id                 =     X_Set_Of_Books_Id,
182        record_type                     =     X_Record_Type,
183        complete_flag                   =     X_Complete_Flag,
184        control_total                   =     X_Control_Total,
185        running_total_dr                =     X_Running_Total_Dr,
186        running_total_cr                =     X_Running_Total_Cr,
187        date_completed                  =     X_Date_Completed,
188        last_update_date                =     X_Last_Update_Date,
189        last_updated_by                 =     X_Last_Updated_By,
190        last_update_login               =     X_Last_Update_Login,
191        request_id                      =     X_REQUEST_ID              -- bug 5982297
192     WHERE rowid = X_Rowid;
193 
194     if (SQL%NOTFOUND) then
195       Raise NO_DATA_FOUND;
196     end if;
197   END Update_Row;
198 
199   PROCEDURE Delete_Row(X_Rowid       VARCHAR2,
200                        X_Be_Batch_Id NUMBER) IS
201 
202     cursor related_headers is
203       select h.rowid row_id, h.be_header_id
204       from   igi_bud_journal_headers h
205       where  h.be_batch_id = X_Be_Batch_Id;
206 
207   BEGIN
208     DELETE FROM IGI_BUD_JOURNAL_BATCHES
209     WHERE rowid = X_Rowid;
210 
211     for header in related_headers loop
212       igi_bud_journal_headers_pkg.delete_row(header.row_id,
213                                              header.be_header_id);
214     end loop;
215 
216     if (SQL%NOTFOUND) then
217       Raise NO_DATA_FOUND;
218     end if;
219   END Delete_Row;
220 
221 
222 END IGI_BUD_JOURNAL_BATCHES_PKG;