[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;