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