[Home] [Help]
PACKAGE BODY: APPS.IGW_BUDGETS_PKG
Source
1 PACKAGE BODY IGW_BUDGETS_PKG AS
2 -- $Header: igwbuthb.pls 115.10 2002/03/28 19:13:09 pkm ship $
3 procedure INSERT_ROW (
4 x_rowid IN OUT VARCHAR2
5 ,p_proposal_id NUMBER
6 ,p_version_id NUMBER
7 ,p_start_date DATE
8 ,p_end_date DATE
9 ,p_total_cost NUMBER
10 ,p_total_direct_cost NUMBER
11 ,p_total_indirect_cost NUMBER
12 ,p_cost_sharing_amount NUMBER
13 ,p_underrecovery_amount NUMBER
14 ,p_residual_funds NUMBER
15 ,p_total_cost_limit NUMBER
16 ,p_oh_rate_class_id NUMBER
17 ,p_proposal_form_number VARCHAR2
18 ,p_comments VARCHAR2
19 ,p_final_version_flag VARCHAR2
20 ,p_budget_type_code VARCHAR2
21 ,p_attribute_category VARCHAR2
22 ,p_attribute1 VARCHAR2
23 ,p_attribute2 VARCHAR2
24 ,p_attribute3 VARCHAR2
25 ,p_attribute4 VARCHAR2
26 ,p_attribute5 VARCHAR2
27 ,p_attribute6 VARCHAR2
28 ,p_attribute7 VARCHAR2
29 ,p_attribute8 VARCHAR2
30 ,p_attribute9 VARCHAR2
31 ,p_attribute10 VARCHAR2
32 ,p_attribute11 VARCHAR2
33 ,p_attribute12 VARCHAR2
34 ,p_attribute13 VARCHAR2
35 ,p_attribute14 VARCHAR2
36 ,p_attribute15 VARCHAR2) IS
37 cursor c_budgets is
38 select rowid
39 from igw_budgets
40 where proposal_id = p_proposal_id;
41
42 l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
43 l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
44 l_last_update_date DATE := SYSDATE;
45 begin
46
47
48 insert into igw_budgets(
49 proposal_id
50 ,version_id
51 ,start_date
52 ,end_date
53 ,total_cost
54 ,total_direct_cost
55 ,total_indirect_cost
56 ,cost_sharing_amount
57 ,underrecovery_amount
58 ,residual_funds
59 ,total_cost_limit
60 ,oh_rate_class_id
61 ,proposal_form_number
62 ,comments
63 ,final_version_flag
64 ,budget_type_code
65 ,last_update_date
66 ,last_updated_by
67 ,creation_date
68 ,created_by
69 ,last_update_login
70 ,attribute_category
71 ,attribute1
72 ,attribute2
73 ,attribute3
74 ,attribute4
75 ,attribute5
76 ,attribute6
77 ,attribute7
78 ,attribute8
79 ,attribute9
80 ,attribute10
81 ,attribute11
82 ,attribute12
83 ,attribute13
84 ,attribute14
85 ,attribute15)
86 values
87 ( p_proposal_id
88 ,p_version_id
89 ,p_start_date
90 ,p_end_date
91 ,p_total_cost
92 ,p_total_direct_cost
93 ,p_total_indirect_cost
94 ,p_cost_sharing_amount
95 ,p_underrecovery_amount
96 ,p_residual_funds
97 ,p_total_cost_limit
98 ,p_oh_rate_class_id
99 ,p_proposal_form_number
100 ,p_comments
101 ,p_final_version_flag
102 ,p_budget_type_code
103 ,l_last_update_date
104 ,l_last_updated_by
105 ,l_last_update_date
106 ,l_last_updated_by
107 ,l_last_update_login
108 ,p_attribute_category
109 ,p_attribute1
110 ,p_attribute2
111 ,p_attribute3
112 ,p_attribute4
113 ,p_attribute5
114 ,p_attribute6
115 ,p_attribute7
116 ,p_attribute8
117 ,p_attribute9
118 ,p_attribute10
119 ,p_attribute11
120 ,p_attribute12
121 ,p_attribute13
122 ,p_attribute14
123 ,p_attribute15);
124
125 open c_budgets;
126 fetch c_budgets into x_ROWID;
127 if (c_budgets%notfound) then
128 close c_budgets;
129 raise no_data_found;
130 end if;
131 close c_budgets;
132 end insert_row;
133
134 procedure lock_row(
135 x_rowid VARCHAR2
136 ,p_proposal_id NUMBER
137 ,p_version_id NUMBER
138 ,p_start_date DATE
139 ,p_end_date DATE
140 ,p_total_cost NUMBER
141 ,p_total_direct_cost NUMBER
142 ,p_total_indirect_cost NUMBER
143 ,p_cost_sharing_amount NUMBER
144 ,p_underrecovery_amount NUMBER
145 ,p_residual_funds NUMBER
146 ,p_total_cost_limit NUMBER
147 ,p_oh_rate_class_id NUMBER
148 ,p_proposal_form_number VARCHAR2
149 ,p_comments VARCHAR2
150 ,p_final_version_flag VARCHAR2
151 ,p_budget_type_code VARCHAR2
152 ,p_attribute_category VARCHAR2
153 ,p_attribute1 VARCHAR2
154 ,p_attribute2 VARCHAR2
155 ,p_attribute3 VARCHAR2
156 ,p_attribute4 VARCHAR2
157 ,p_attribute5 VARCHAR2
158 ,p_attribute6 VARCHAR2
159 ,p_attribute7 VARCHAR2
160 ,p_attribute8 VARCHAR2
161 ,p_attribute9 VARCHAR2
162 ,p_attribute10 VARCHAR2
163 ,p_attribute11 VARCHAR2
164 ,p_attribute12 VARCHAR2
165 ,p_attribute13 VARCHAR2
166 ,p_attribute14 VARCHAR2
167 ,p_attribute15 VARCHAR2) IS
168 cursor c_budgets is
169 select *
170 from igw_budgets
171 where rowid = x_rowid
172 for update of proposal_id nowait;
173
174 tlinfo c_budgets%rowtype;
175 begin
176 open c_budgets;
177 fetch c_budgets into tlinfo;
178 if (c_budgets%notfound) then
179 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
180 app_exception.raise_exception;
181 close c_budgets;
182 return;
183 end if;
184 close c_budgets;
185 if ( (tlinfo.proposal_id = p_proposal_id)
186 AND (tlinfo.version_id = p_version_id)
187 AND ((tlinfo.start_date = p_start_date)
188 OR ((tlinfo.start_date is null)
189 AND (p_start_date is null)))
190 AND ((tlinfo.end_date = p_end_date)
191 OR ((tlinfo.end_date is null)
192 AND (p_end_date is null)))
193 AND ((tlinfo.total_cost = p_total_cost)
194 OR ((tlinfo.total_cost is null)
195 AND (p_total_cost is null)))
196 AND ((tlinfo.total_direct_cost = p_total_direct_cost)
197 OR ((tlinfo.total_direct_cost is null)
198 AND (p_total_direct_cost is null)))
199 AND ((tlinfo.cost_sharing_amount = p_cost_sharing_amount)
200 OR ((tlinfo.cost_sharing_amount is null)
201 AND (p_cost_sharing_amount is null)))
202 AND ((tlinfo.underrecovery_amount = p_underrecovery_amount)
203 OR ((tlinfo.underrecovery_amount is null)
204 AND (p_underrecovery_amount is null)))
205 AND ((tlinfo.residual_funds = p_residual_funds)
206 OR ((tlinfo.residual_funds is null)
207 AND (p_residual_funds is null)))
208 AND ((tlinfo.total_cost_limit = p_total_cost_limit)
209 OR ((tlinfo.total_cost_limit is null)
210 AND (p_total_cost_limit is null)))
211 AND ((tlinfo.oh_rate_class_id = p_oh_rate_class_id)
212 OR ((tlinfo.oh_rate_class_id is null)
213 AND (p_oh_rate_class_id is null)))
214 AND ((tlinfo.proposal_form_number = p_proposal_form_number)
215 OR ((tlinfo.proposal_form_number is null)
216 AND (p_proposal_form_number is null)))
217 AND ((tlinfo.comments = p_comments)
218 OR ((tlinfo.comments is null)
219 AND (p_comments is null)))
220 AND ((tlinfo.final_version_flag = p_final_version_flag)
221 OR ((tlinfo.final_version_flag is null)
222 AND (p_final_version_flag is null)))
223 AND ((tlinfo.budget_type_code = p_budget_type_code)
224 OR ((tlinfo.budget_type_code is null)
225 AND (p_budget_type_code is null)))
226 AND ((tlinfo.ATTRIBUTE1 = P_ATTRIBUTE1)
227 OR ((tlinfo.ATTRIBUTE1 is null)
228 AND (P_ATTRIBUTE1 is null)))
229 AND ((tlinfo.ATTRIBUTE2 = P_ATTRIBUTE2)
230 OR ((tlinfo.ATTRIBUTE2 is null)
231 AND (P_ATTRIBUTE2 is null)))
232 AND ((tlinfo.ATTRIBUTE3 = P_ATTRIBUTE3)
233 OR ((tlinfo.ATTRIBUTE3 is null)
234 AND (P_ATTRIBUTE3 is null)))
235 AND ((tlinfo.ATTRIBUTE4 = P_ATTRIBUTE4)
236 OR ((tlinfo.ATTRIBUTE4 is null)
237 AND (P_ATTRIBUTE4 is null)))
238 AND ((tlinfo.ATTRIBUTE5 = P_ATTRIBUTE5)
239 OR ((tlinfo.ATTRIBUTE5 is null)
240 AND (P_ATTRIBUTE5 is null)))
241 AND ((tlinfo.ATTRIBUTE6 = P_ATTRIBUTE6)
242 OR ((tlinfo.ATTRIBUTE6 is null)
243 AND (P_ATTRIBUTE6 is null)))
244 AND ((tlinfo.ATTRIBUTE7 = P_ATTRIBUTE7)
245 OR ((tlinfo.ATTRIBUTE7 is null)
246 AND (P_ATTRIBUTE7 is null)))
247 AND ((tlinfo.ATTRIBUTE8 = P_ATTRIBUTE8)
248 OR ((tlinfo.ATTRIBUTE8 is null)
249 AND (P_ATTRIBUTE8 is null)))
250 AND ((tlinfo.ATTRIBUTE9 = P_ATTRIBUTE9)
251 OR ((tlinfo.ATTRIBUTE9 is null)
252 AND (P_ATTRIBUTE9 is null)))
253 AND ((tlinfo.ATTRIBUTE10 = P_ATTRIBUTE10)
254 OR ((tlinfo.ATTRIBUTE10 is null)
255 AND (P_ATTRIBUTE10 is null)))
256 AND ((tlinfo.ATTRIBUTE11 = P_ATTRIBUTE11)
257 OR ((tlinfo.ATTRIBUTE11 is null)
258 AND (P_ATTRIBUTE11 is null)))
259 AND ((tlinfo.ATTRIBUTE12 = P_ATTRIBUTE12)
260 OR ((tlinfo.ATTRIBUTE12 is null)
261 AND (P_ATTRIBUTE12 is null)))
262 AND ((tlinfo.ATTRIBUTE13 = P_ATTRIBUTE13)
263 OR ((tlinfo.ATTRIBUTE13 is null)
264 AND (P_ATTRIBUTE13 is null)))
265 AND ((tlinfo.ATTRIBUTE14 = P_ATTRIBUTE14)
266 OR ((tlinfo.ATTRIBUTE14 is null)
267 AND (P_ATTRIBUTE14 is null)))
268 AND ((tlinfo.ATTRIBUTE15 = P_ATTRIBUTE15)
269 OR ((tlinfo.ATTRIBUTE15 is null)
270 AND (P_ATTRIBUTE15 is null)))
271 ) then
272 null;
273 else
274 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
275 app_exception.raise_exception;
276 end if;
277 return;
278 end lock_row;
279
280 procedure update_row(
281 p_proposal_id NUMBER
282 ,p_version_id NUMBER
283 ,p_start_date DATE
284 ,p_end_date DATE
285 ,p_total_cost NUMBER
286 ,p_total_direct_cost NUMBER
287 ,p_total_indirect_cost NUMBER
288 ,p_cost_sharing_amount NUMBER
289 ,p_underrecovery_amount NUMBER
290 ,p_residual_funds NUMBER
291 ,p_total_cost_limit NUMBER
292 ,p_oh_rate_class_id NUMBER
293 ,p_proposal_form_number VARCHAR2
294 ,p_comments VARCHAR2
295 ,p_final_version_flag VARCHAR2
296 ,p_budget_type_code VARCHAR2
297 ,p_attribute_category VARCHAR2
298 ,p_attribute1 VARCHAR2
299 ,p_attribute2 VARCHAR2
300 ,p_attribute3 VARCHAR2
301 ,p_attribute4 VARCHAR2
302 ,p_attribute5 VARCHAR2
303 ,p_attribute6 VARCHAR2
304 ,p_attribute7 VARCHAR2
305 ,p_attribute8 VARCHAR2
306 ,p_attribute9 VARCHAR2
307 ,p_attribute10 VARCHAR2
308 ,p_attribute11 VARCHAR2
309 ,p_attribute12 VARCHAR2
310 ,p_attribute13 VARCHAR2
311 ,p_attribute14 VARCHAR2
312 ,p_attribute15 VARCHAR2) IS
313 l_last_updated_by NUMBER := FND_GLOBAL.USER_ID;
314 l_last_update_login NUMBER := FND_GLOBAL.LOGIN_ID;
315 l_last_update_date DATE := SYSDATE;
316 begin
317
318 update igw_budgets
319 set start_date = p_start_date
320 , end_date = p_end_date
321 , total_cost = p_total_cost
322 , total_direct_cost = p_total_direct_cost
323 , total_indirect_cost = p_total_indirect_cost
324 , cost_sharing_amount = p_cost_sharing_amount
325 , underrecovery_amount = p_underrecovery_amount
326 , residual_funds = p_residual_funds
327 , total_cost_limit = p_total_cost_limit
328 , oh_rate_class_id = p_oh_rate_class_id
329 , proposal_form_number = p_proposal_form_number
330 , comments = p_comments
331 , final_version_flag = p_final_version_flag
332 , budget_type_code = p_budget_type_code
333 , ATTRIBUTE_CATEGORY = P_ATTRIBUTE_CATEGORY
334 , ATTRIBUTE1 = P_ATTRIBUTE1
335 , ATTRIBUTE2 = P_ATTRIBUTE2
336 , ATTRIBUTE3 = P_ATTRIBUTE3
337 , ATTRIBUTE4 = P_ATTRIBUTE4
338 , ATTRIBUTE5 = P_ATTRIBUTE5
339 , ATTRIBUTE6 = P_ATTRIBUTE6
340 , ATTRIBUTE7 = P_ATTRIBUTE7
341 , ATTRIBUTE8 = P_ATTRIBUTE8
342 , ATTRIBUTE9 = P_ATTRIBUTE9
343 , ATTRIBUTE10 = P_ATTRIBUTE10
344 , ATTRIBUTE11 = P_ATTRIBUTE11
345 , ATTRIBUTE12 = P_ATTRIBUTE12
346 , ATTRIBUTE13 = P_ATTRIBUTE13
347 , ATTRIBUTE14 = P_ATTRIBUTE14
348 , ATTRIBUTE15 = P_ATTRIBUTE15
349 where proposal_id = p_proposal_id
350 and version_id = p_version_id;
351
352 if (sql%notfound) then
353 raise no_data_found;
354 end if;
355 end update_row;
356
357 END IGW_BUDGETS_PKG;