DBA Data[Home] [Help]

PACKAGE BODY: APPS.IGI_BUD_JOURNAL_LINES_PKG

Source


1 PACKAGE BODY IGI_BUD_JOURNAL_LINES_PKG as
2 -- $Header: igibudeb.pls 120.4 2005/10/30 05:51:41 appldev 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                    NUMBER,
19                        X_Be_Header_Id                   NUMBER,
20                        X_Be_Line_Num                    NUMBER,
21                        X_Set_Of_Books_Id                NUMBER,
22                        X_Code_Combination_Id            NUMBER,
23                        X_Record_Type                    VARCHAR2,
24                        X_Entered_Dr                     NUMBER,
25                        X_Entered_Cr                     NUMBER,
26                        X_Next_Year_Budget               NUMBER,
27                        X_Description                    VARCHAR2,
28                        X_Fye_Pye_Entry                  VARCHAR2,
29                        X_Profile_Code                   VARCHAR2,
30                        X_Start_Period                   VARCHAR2,
31                        X_Reason_Code                    VARCHAR2,
32                        X_Recurring_Entry                VARCHAR2,
33                        X_Creation_Date                  DATE,
34                        X_Created_By                     NUMBER,
35                        X_Last_Update_Date               DATE,
36                        X_Last_Updated_By                NUMBER,
37                        X_Last_Update_Login              NUMBER
38   ) IS
39     CURSOR C IS SELECT rowid FROM IGI_BUD_JOURNAL_LINES
40                  WHERE be_header_id = X_Be_Header_Id
41                  AND   be_line_num = X_Be_Line_Num;
42 
43    BEGIN
44 
45 
46        INSERT INTO IGI_BUD_JOURNAL_LINES(
47               be_batch_id,
48               be_header_id,
49               be_line_num,
50               set_of_books_id,
51               code_combination_id,
52               record_type,
53               entered_dr,
54               entered_cr,
55               next_year_budget,
56               description,
57               fye_pye_entry,
58               profile_code,
59               start_period,
60               reason_code,
61               recurring_entry,
62               creation_date,
63               created_by,
64               last_update_date,
65               last_updated_by,
66               last_update_login
67              ) VALUES (
68 
69               X_Be_Batch_Id,
70               X_Be_Header_Id,
71               X_Be_Line_Num,
72               X_Set_Of_Books_Id,
73               X_Code_Combination_Id,
74               X_Record_Type,
75               X_Entered_Dr,
76               X_Entered_Cr,
77               X_Next_Year_Budget,
78               X_Description,
79               X_Fye_Pye_Entry,
80               X_Profile_Code,
81               X_Start_Period,
82               X_Reason_Code,
83               X_Recurring_Entry,
84               X_Creation_Date,
85               X_Created_By,
86               X_Last_Update_Date,
87               X_Last_Updated_By,
88               X_Last_Update_Login
89              );
90 
91     OPEN C;
92     FETCH C INTO X_Rowid;
93     if (C%NOTFOUND) then
94       CLOSE C;
95       Raise NO_DATA_FOUND;
96     end if;
97     CLOSE C;
98   END Insert_Row;
99 
100 
101   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
102                      X_Be_Batch_Id                      NUMBER,
103                      X_Be_Header_Id                     NUMBER,
104                      X_Be_Line_Num                      NUMBER,
105                      X_Set_Of_Books_Id                  NUMBER,
106                      X_Code_Combination_Id              NUMBER,
107                      X_Record_Type                      VARCHAR2,
108                      X_Entered_Dr                       NUMBER,
109                      X_Entered_Cr                       NUMBER,
110                      X_Next_Year_Budget                 NUMBER,
111                      X_Description                      VARCHAR2,
112                      X_Fye_Pye_Entry                    VARCHAR2,
113                      X_Profile_Code                     VARCHAR2,
114                      X_Start_Period                     VARCHAR2,
115                      X_Reason_Code                      VARCHAR2,
116                      X_Recurring_Entry                  VARCHAR2
117   ) IS
118     CURSOR C IS
119         SELECT *
120         FROM   IGI_BUD_JOURNAL_LINES
121         WHERE  rowid = X_Rowid
122         FOR UPDATE of Be_Header_Id NOWAIT;
123     Recinfo C%ROWTYPE;
124 
125 
126   BEGIN
127     OPEN C;
128     FETCH C INTO Recinfo;
129     if (C%NOTFOUND) then
130       CLOSE C;
131       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
132        --Bug 3199481 (start)
133       If (l_unexp_level >= l_debug_level) then
134             FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journal_lines_pkg.lock_row.Msg1',FALSE);
135       End if;
136       --Bug 3199481 (End)
137       APP_EXCEPTION.Raise_Exception;
138     end if;
139     CLOSE C;
140     if (
141                (Recinfo.be_batch_id =  X_Be_Batch_Id)
142            AND (Recinfo.be_header_id =  X_Be_Header_Id)
143            AND (Recinfo.be_line_num =  X_Be_Line_Num)
144            AND (Recinfo.set_of_books_id =  X_Set_Of_Books_Id)
145            AND (Recinfo.code_combination_id =  X_Code_Combination_Id)
146            AND (Recinfo.record_type =  X_Record_Type)
147            AND (   (Recinfo.entered_dr =  X_Entered_Dr)
148                 OR (    (Recinfo.entered_dr IS NULL)
149                     AND (X_Entered_Dr IS NULL)))
150            AND (   (Recinfo.entered_cr =  X_Entered_Cr)
151                 OR (    (Recinfo.entered_cr IS NULL)
152                     AND (X_Entered_Cr IS NULL)))
153            AND (   (Recinfo.next_year_budget =  X_Next_Year_Budget)
154                 OR (    (Recinfo.next_year_budget IS NULL)
155                     AND (X_Next_Year_Budget IS NULL)))
156            AND (   (Recinfo.description =  X_Description)
157                 OR (    (Recinfo.description IS NULL)
158                     AND (X_Description IS NULL)))
159            AND (   (Recinfo.fye_pye_entry =  X_Fye_Pye_Entry)
160                 OR (    (Recinfo.fye_pye_entry IS NULL)
161                     AND (X_Fye_Pye_Entry IS NULL)))
162            AND (   (Recinfo.profile_code =  X_Profile_Code)
163                 OR (    (Recinfo.profile_code IS NULL)
164                     AND (X_Profile_Code IS NULL)))
165            AND (   (Recinfo.start_period =  X_Start_Period)
166                 OR (    (Recinfo.start_period IS NULL)
167                     AND (X_Start_Period IS NULL)))
168            AND (   (Recinfo.reason_code =  X_Reason_Code)
169                 OR (    (Recinfo.reason_code IS NULL)
170                     AND (X_Reason_Code IS NULL)))
171            AND (   (Recinfo.recurring_entry =  X_Recurring_Entry)
172                 OR (    (Recinfo.recurring_entry IS NULL)
173                     AND (X_Recurring_Entry IS NULL)))
174       ) then
175       return;
176     else
177       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
178       --Bug 3199481 (start)
179       If (l_unexp_level >= l_debug_level) then
180             FND_LOG.MESSAGE(l_unexp_level,'igi.plsql.igi_bud_journals_periods_pkg.lock_row.Msg2',FALSE);
181       End if;
182       --Bug 3199481 (End)
183       APP_EXCEPTION.Raise_Exception;
184     end if;
185   END Lock_Row;
186 
187 
188 
189   PROCEDURE Update_Row(X_Rowid                          VARCHAR2,
190                        X_Be_Batch_Id                    NUMBER,
191                        X_Be_Header_Id                   NUMBER,
192                        X_Be_Line_Num                    NUMBER,
193                        X_Set_Of_Books_Id                NUMBER,
194                        X_Code_Combination_Id            NUMBER,
195                        X_Record_Type                    VARCHAR2,
196                        X_Entered_Dr                     NUMBER,
197                        X_Entered_Cr                     NUMBER,
198                        X_Next_Year_Budget               NUMBER,
199                        X_Description                    VARCHAR2,
200                        X_Fye_Pye_Entry                  VARCHAR2,
201                        X_Profile_Code                   VARCHAR2,
202                        X_Start_Period                   VARCHAR2,
203                        X_Reason_Code                    VARCHAR2,
204                        X_Recurring_Entry                VARCHAR2,
205                        X_Last_Update_Date               DATE,
206                        X_Last_Updated_By                NUMBER,
207                        X_Last_Update_Login              NUMBER
208 
209   ) IS
210   BEGIN
211     UPDATE IGI_BUD_JOURNAL_LINES
212     SET
213        be_batch_id                     =     X_Be_Batch_Id,
214        be_header_id                    =     X_Be_Header_Id,
215        be_line_num                     =     X_Be_Line_Num,
216        set_of_books_id                 =     X_Set_Of_Books_Id,
217        code_combination_id             =     X_Code_Combination_Id,
218        record_type                     =     X_Record_Type,
219        entered_dr                      =     X_Entered_Dr,
220        entered_cr                      =     X_Entered_Cr,
221        next_year_budget                =     X_Next_Year_Budget,
222        description                     =     X_Description,
223        fye_pye_entry                   =     X_Fye_Pye_Entry,
224        profile_code                    =     X_Profile_Code,
225        start_period                    =     X_Start_Period,
226        reason_code                     =     X_Reason_Code,
227        recurring_entry                 =     X_Recurring_Entry,
228        last_update_date                =     X_Last_Update_Date,
229        last_updated_by                 =     X_Last_Updated_By,
230        last_update_login               =     X_Last_Update_Login
231     WHERE rowid = X_Rowid;
232 
233     if (SQL%NOTFOUND) then
234       Raise NO_DATA_FOUND;
235     end if;
236   END Update_Row;
237 
238   PROCEDURE Delete_Row(X_Rowid        VARCHAR2,
239                        X_Be_Header_Id NUMBER,
240                        X_Be_Line_Num  NUMBER) IS
241 
242     cursor related_periods is
243       select p.rowid row_id
244       from   igi_bud_journal_periods p
245       where  p.be_header_id = X_Be_Header_Id
246        and   p.be_line_num = X_Be_Line_Num;
247 
248   BEGIN
249     DELETE FROM IGI_BUD_JOURNAL_LINES
250     WHERE rowid = X_Rowid;
251 
252     for periods in related_periods loop
253       igi_bud_journal_periods_pkg.delete_row(periods.row_id);
254     end loop;
255 
256     if (SQL%NOTFOUND) then
257       Raise NO_DATA_FOUND;
258     end if;
259   END Delete_Row;
260 
261 
262 END IGI_BUD_JOURNAL_LINES_PKG;