[Home] [Help]
PACKAGE BODY: APPS.FA_INS_POLICIES_PKG
Source
1 PACKAGE BODY FA_INS_POLICIES_PKG AS
2 /* $Header: faxinspb.pls 120.3 2005/07/25 10:00:56 yyoon ship $ */
3
4
5 PROCEDURE Get_Calculation_Method (X_Vendor_id NUMBER,
6 X_Policy_number VARCHAR2,
7 X_Asset_policy_id IN OUT NOCOPY NUMBER,
8 X_Calculation_method IN OUT NOCOPY VARCHAR2,
9 X_Vendor_site_code IN OUT NOCOPY VARCHAR2,
10 X_Vendor_Site_id IN OUT NOCOPY NUMBER,
11 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) IS
12
13 CURSOR C (X_vendor_id NUMBER, X_Policy_number VARCHAR2) IS
14 SELECT pol.calculation_method,
15 pol.Vendor_Site_code,
16 pol.vendor_site_id,
17 nvl(pol.asset_policy_id,0)
18 FROM fa_ins_mst_pols_v pol
19 WHERE pol.vendor_id = X_Vendor_id
20 AND pol.policy_number = X_Policy_number
21 ;
22
23
24 BEGIN
25
26 OPEN C (X_Vendor_id, X_Policy_number);
27
28 FETCH C into X_Calculation_method, X_Vendor_site_code, X_vendor_site_id,
29 X_Asset_policy_id;
30
31 IF SQL%NOTFOUND THEN
32 X_Asset_policy_id := 0;
33 END IF;
34
35 CLOSE C;
36
37 END Get_Calculation_Method;
38
39 PROCEDURE Insert_Row( X_Rowid IN OUT NOCOPY VARCHAR2,
40 X_Asset_policy_id IN OUT NOCOPY NUMBER,
41 X_Asset_id VARCHAR2,
42 X_Book_type_code VARCHAR2,
43 X_Policy_number VARCHAR2,
44 X_Vendor_site_id NUMBER,
45 X_Vendor_id NUMBER,
46 X_Calculation_method VARCHAR2,
47 X_Current_insurance_value NUMBER,
48 X_Base_insurance_value NUMBER,
49 X_Base_index_date DATE,
50 X_Current_price_index_id NUMBER,
51 X_Last_indexation_id NUMBER,
52 X_Insured_amount NUMBER,
53 X_Swiss_Building VARCHAR2,
54 X_Last_update_date DATE,
55 X_Last_updated_by VARCHAR2,
56 X_Last_update_login VARCHAR2,
57 X_Creation_date DATE,
58 X_Created_by VARCHAR2,
59 X_Attribute_category VARCHAR2,
60 X_Attribute1 VARCHAR2,
61 X_Attribute2 VARCHAR2,
62 X_Attribute3 VARCHAR2,
63 X_Attribute4 VARCHAR2,
64 X_Attribute5 VARCHAR2,
65 X_Attribute6 VARCHAR2,
66 X_Attribute7 VARCHAR2,
67 X_Attribute8 VARCHAR2,
68 X_Attribute9 VARCHAR2,
69 X_Attribute10 VARCHAR2,
70 X_Attribute11 VARCHAR2,
71 X_Attribute12 VARCHAR2,
72 X_Attribute13 VARCHAR2,
73 X_Attribute14 VARCHAR2,
74 X_Attribute15 VARCHAR2,
75 X_Attribute16 VARCHAR2,
76 X_Attribute17 VARCHAR2,
77 X_Attribute18 VARCHAR2,
78 X_Attribute19 VARCHAR2,
79 X_Attribute20 VARCHAR2,
80 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) IS
81
82
83 CURSOR C IS SELECT rowid FROM fa_ins_policies
84 WHERE asset_policy_id = X_Asset_policy_id
85 AND policy_number = X_Policy_number
86 AND asset_id = X_Asset_id;
87
88 CURSOR C1 (X_Policy_Number Varchar2, X_vendor_id NUMBER) IS
89 SELECT asset_policy_id
90 FROM fa_ins_mst_pols
91 WHERE policy_number = X_Policy_number
92 AND Vendor_id = X_Vendor_id;
93
94 l_asset_policy_id NUMBER;
95
96 BEGIN
97
98 OPEN C1(X_Policy_number, X_Vendor_id);
99
100 FETCH C1 INTO l_asset_policy_id;
101
102 CLOSE C1;
103
104 IF l_asset_policy_id is null THEN
105
106 SELECT FA_INS_POLICY_S.nextval
107 INTO X_Asset_policy_id
108 FROM dual;
109
110 l_asset_policy_id := X_Asset_policy_id;
111
112 INSERT INTO fa_ins_mst_pols
113 (asset_policy_id,
114 policy_number,
115 calculation_method,
116 vendor_id,
117 vendor_site_id
118 )
119 VALUES
120 (
121 X_asset_policy_id,
122 X_Policy_number,
123 X_Calculation_method,
124 X_Vendor_id,
125 X_Vendor_site_id
126 );
127
128 END IF;
129
130 INSERT INTO fa_ins_policies
131 (
132 asset_policy_id,
133 asset_id,
134 book_type_code,
135 policy_number,
136 current_insurance_value,
137 base_insurance_value,
138 base_index_date,
139 current_price_index_id,
140 last_indexation_id,
141 insured_amount,
142 swiss_building,
143 last_update_date,
144 last_updated_by,
145 last_update_login,
146 creation_date,
147 created_by,
148 attribute_category,
149 attribute1,
150 attribute2,
151 attribute3,
152 attribute4,
153 attribute5,
154 attribute6,
155 attribute7,
156 attribute8,
157 attribute9,
158 attribute10,
159 attribute11,
160 attribute12,
161 attribute13,
162 attribute14,
163 attribute15,
164 attribute16,
165 attribute17,
166 attribute18,
167 attribute19,
168 attribute20
169 )
170 VALUES
171 (
172 L_Asset_policy_id,
173 X_Asset_id,
174 X_Book_type_code,
175 X_Policy_number,
176 X_Current_insurance_value,
177 X_Base_insurance_value,
178 X_Base_index_date,
179 X_Current_price_index_id,
180 X_last_indexation_id,
181 X_Insured_amount,
182 X_Swiss_building,
183 X_Last_update_date,
184 X_Last_updated_by,
185 X_Last_update_login,
186 X_Creation_date,
187 X_Created_by,
188 X_Attribute_category,
189 X_Attribute1,
190 X_Attribute2,
191 X_Attribute3,
192 X_Attribute4,
193 X_Attribute5,
194 X_Attribute6,
195 X_Attribute7,
196 X_Attribute8,
197 X_Attribute9,
198 X_Attribute10,
199 X_Attribute11,
200 X_Attribute12,
201 X_Attribute13,
202 X_Attribute14,
203 X_Attribute15,
204 X_Attribute16,
205 X_Attribute17,
206 X_Attribute18,
207 X_Attribute19,
208 X_Attribute20
209 );
210
211 -- Check to see whether insert was successful
212
213 OPEN C;
214
215 FETCH C INTO X_Rowid;
216
217 IF C%NOTFOUND THEN
218 CLOSE C;
219 X_Asset_policy_id := NULL;
220 RAISE NO_DATA_FOUND;
221 END IF;
222
223 CLOSE C;
224
225 END Insert_Row;
226
227
228 PROCEDURE Lock_Row( X_Rowid VARCHAR2,
229 X_Asset_policy_id NUMBER,
230 X_Asset_id VARCHAR2,
231 X_Book_type_code VARCHAR2,
232 X_Policy_number VARCHAR2,
233 X_Vendor_site_id NUMBER,
234 X_Vendor_id NUMBER,
235 X_Calculation_method VARCHAR2,
236 X_Current_insurance_value NUMBER,
237 X_Base_insurance_value NUMBER,
238 X_Base_index_date DATE,
239 X_Current_price_index_id NUMBER,
240 X_Last_indexation_id NUMBER,
241 X_Insured_amount NUMBER,
242 X_Swiss_building VARCHAR2,
243 X_Attribute_category VARCHAR2,
244 X_Attribute1 VARCHAR2,
245 X_Attribute2 VARCHAR2,
246 X_Attribute3 VARCHAR2,
247 X_Attribute4 VARCHAR2,
248 X_Attribute5 VARCHAR2,
249 X_Attribute6 VARCHAR2,
250 X_Attribute7 VARCHAR2,
251 X_Attribute8 VARCHAR2,
252 X_Attribute9 VARCHAR2,
253 X_Attribute10 VARCHAR2,
254 X_Attribute11 VARCHAR2,
255 X_Attribute12 VARCHAR2,
256 X_Attribute13 VARCHAR2,
257 X_Attribute14 VARCHAR2,
258 X_Attribute15 VARCHAR2,
259 X_Attribute16 VARCHAR2,
260 X_Attribute17 VARCHAR2,
261 X_Attribute18 VARCHAR2,
262 X_Attribute19 VARCHAR2,
263 X_Attribute20 VARCHAR2,
264 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) IS
265
266 CURSOR C IS
267 SELECT *
268 FROM fa_ins_policies
269 WHERE rowid = X_Rowid
270 FOR UPDATE OF policy_number NOWAIT;
271
272 recinfo C%ROWTYPE;
273
274 BEGIN
275 OPEN C;
276 FETCH C INTO recinfo;
277 IF C%NOTFOUND THEN
278 CLOSE C;
279 FND_MESSAGE.Set_Name('FND','FORM_RECORD_DELETED');
280 APP_EXCEPTION.Raise_Exception;
281 END IF;
282 CLOSE C;
283 IF (
284 (recinfo.asset_policy_id = X_Asset_policy_id)
285 AND ( (recinfo.asset_id = X_Asset_id)
286 OR ( (recinfo.asset_id IS NULL)
287 AND (X_asset_id IS NULL)))
288 AND ( (recinfo.book_type_code = X_Book_type_code)
289 OR ( (recinfo.book_type_code IS NULL)
290 AND (X_Book_type_code IS NULL)))
291 AND ( (recinfo.policy_number = X_Policy_number)
292 OR ( (recinfo.policy_number IS NULL)
293 AND (X_Policy_number IS NULL)))
294 AND ( (recinfo.current_insurance_value = X_current_insurance_value)
295 OR ( (recinfo.current_insurance_value IS NULL)
296 AND (X_current_insurance_value IS NULL)))
297 AND ( (recinfo.base_insurance_value = X_Base_insurance_value)
298 OR ( (recinfo.base_insurance_value IS NULL)
299 AND (X_Base_insurance_value IS NULL)))
300 AND ( (recinfo.base_index_date = X_Base_index_date)
301 OR ( (recinfo.base_index_date IS NULL)
302 AND (X_Base_index_date IS NULL)))
303 AND ( (recinfo.current_price_index_id = X_Current_price_index_id)
304 OR ( (recinfo.current_price_index_id IS NULL)
305 AND (X_Current_price_index_id IS NULL)))
306 AND ( (recinfo.last_indexation_id = X_last_indexation_id)
307 OR ( (recinfo.last_indexation_id IS NULL)
308 AND (X_Last_indexation_id IS NULL)))
309 AND ( (recinfo.insured_amount = X_Insured_amount)
310 OR ( (recinfo.insured_amount IS NULL)
311 AND (X_Insured_amount IS NULL)))
312 AND ( (recinfo.swiss_building = X_Swiss_building)
313 OR ( (recinfo.swiss_building IS NULL)
314 AND (X_Swiss_building IS NULL)))
315 AND ( (recinfo.attribute_category = X_Attribute_category)
316 OR ( (recinfo.attribute_category IS NULL)
317 AND (X_Attribute_category IS NULL)))
318 AND ( (recinfo.attribute1 = X_attribute1)
319 OR ( (recinfo.attribute1 IS NULL)
320 AND (X_Attribute1 IS NULL)))
321 AND ( (recinfo.attribute2 = X_attribute2)
322 OR ( (recinfo.attribute2 IS NULL)
323 AND (X_Attribute2 IS NULL)))
324 AND ( (recinfo.attribute3 = X_attribute3)
325 OR ( (recinfo.attribute3 IS NULL)
326 AND (X_Attribute3 IS NULL)))
327 AND ( (recinfo.attribute4 = X_attribute4)
328 OR ( (recinfo.attribute4 IS NULL)
329 AND (X_Attribute4 IS NULL)))
330 AND ( (recinfo.attribute5 = X_attribute5)
331 OR ( (recinfo.attribute5 IS NULL)
332 AND (X_Attribute5 IS NULL)))
333 AND ( (recinfo.attribute6 = X_attribute6)
334 OR ( (recinfo.attribute6 IS NULL)
335 AND (X_Attribute6 IS NULL)))
336 AND ( (recinfo.attribute7 = X_attribute7)
337 OR ( (recinfo.attribute7 IS NULL)
338 AND (X_Attribute7 IS NULL)))
339 AND ( (recinfo.attribute8 = X_attribute8)
340 OR ( (recinfo.attribute8 IS NULL)
341 AND (X_Attribute8 IS NULL)))
342 AND ( (recinfo.attribute9 = X_attribute9)
343 OR ( (recinfo.attribute9 IS NULL)
344 AND (X_Attribute9 IS NULL)))
345 AND ( (recinfo.attribute10 = X_attribute10)
346 OR ( (recinfo.attribute10 IS NULL)
347 AND (X_Attribute10 IS NULL)))
348 AND ( (recinfo.attribute11 = X_attribute11)
349 OR ( (recinfo.attribute11 IS NULL)
350 AND (X_Attribute11 IS NULL)))
351 AND ( (recinfo.attribute12 = X_attribute12)
352 OR ( (recinfo.attribute12 IS NULL)
353 AND (X_Attribute12 IS NULL)))
354 AND ( (recinfo.attribute13 = X_attribute13)
355 OR ( (recinfo.attribute13 IS NULL)
356 AND (X_Attribute13 IS NULL)))
357 AND ( (recinfo.attribute14 = X_attribute14)
358 OR ( (recinfo.attribute14 IS NULL)
359 AND (X_Attribute14 IS NULL)))
360 AND ( (recinfo.attribute15 = X_attribute15)
361 OR ( (recinfo.attribute15 IS NULL)
362 AND (X_Attribute15 IS NULL)))
363 AND ( (recinfo.attribute16 = X_attribute16)
364 OR ( (recinfo.attribute16 IS NULL)
365 AND (X_Attribute16 IS NULL)))
366 AND ( (recinfo.attribute17 = X_attribute17)
367 OR ( (recinfo.attribute17 IS NULL)
368 AND (X_Attribute17 IS NULL)))
369 AND ( (recinfo.attribute18 = X_attribute18)
370 OR ( (recinfo.attribute18 IS NULL)
371 AND (X_Attribute18 IS NULL)))
372 AND ( (recinfo.attribute19 = X_attribute19)
373 OR ( (recinfo.attribute19 IS NULL)
374 AND (X_Attribute19 IS NULL)))
375 AND ( (recinfo.attribute20 = X_attribute20)
376 OR ( (recinfo.attribute20 IS NULL)
377 AND (X_Attribute20 IS NULL)))) THEN
378 RETURN;
379 ELSE
380 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
381 APP_EXCEPTION.Raise_Exception;
382 END IF;
383 END Lock_Row;
384
385
386 PROCEDURE Update_Row( X_Rowid VARCHAR2,
387 X_Asset_policy_id NUMBER,
388 X_Asset_id VARCHAR2,
389 X_Book_type_code VARCHAR2,
390 X_Policy_number VARCHAR2,
391 X_Vendor_site_id NUMBER,
392 X_Vendor_id NUMBER,
393 X_Calculation_method VARCHAR2,
394 X_Base_insurance_value NUMBER,
395 X_Current_insurance_value NUMBER,
396 X_Base_index_date DATE,
397 X_Current_price_index_id NUMBER,
398 X_Last_indexation_id NUMBER,
399 X_Insured_amount NUMBER,
400 X_Swiss_building VARCHAR2,
401 X_Last_update_date DATE,
402 X_Last_updated_by VARCHAR2,
403 X_Last_update_login VARCHAR2,
404 X_Creation_date DATE,
405 X_Created_by VARCHAR2,
406 X_Attribute_category VARCHAR2,
407 X_Attribute1 VARCHAR2,
408 X_Attribute2 VARCHAR2,
409 X_Attribute3 VARCHAR2,
410 X_Attribute4 VARCHAR2,
411 X_Attribute5 VARCHAR2,
412 X_Attribute6 VARCHAR2,
413 X_Attribute7 VARCHAR2,
414 X_Attribute8 VARCHAR2,
415 X_Attribute9 VARCHAR2,
416 X_Attribute10 VARCHAR2,
417 X_Attribute11 VARCHAR2,
418 X_Attribute12 VARCHAR2,
419 X_Attribute13 VARCHAR2,
420 X_Attribute14 VARCHAR2,
421 X_Attribute15 VARCHAR2,
422 X_Attribute16 VARCHAR2,
423 X_Attribute17 VARCHAR2,
424 X_Attribute18 VARCHAR2,
425 X_Attribute19 VARCHAR2,
426 X_Attribute20 VARCHAR2,
427 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) IS
428
429 BEGIN
430
431 UPDATE fa_ins_policies
432 SET
433 asset_policy_id = X_Asset_policy_id,
434 asset_id = X_Asset_id,
435 book_type_code = X_Book_type_code,
436 policy_number = X_Policy_number,
437 current_insurance_value = X_Current_insurance_value,
438 base_insurance_value = X_Base_insurance_value,
439 base_index_date = X_Base_index_date,
440 current_price_index_id = X_Current_price_index_id,
441 last_indexation_id = X_Last_indexation_id,
442 insured_amount = X_Insured_amount,
443 swiss_building = X_Swiss_building,
444 last_update_date = X_Last_update_date,
445 last_updated_by = X_Last_updated_by,
446 last_update_login = X_Last_update_login,
447 creation_date = X_Creation_date,
448 created_by = X_Created_by,
449 attribute_category = X_Attribute_category,
450 attribute1 = X_Attribute1,
451 attribute2 = X_Attribute2,
452 attribute3 = X_Attribute3,
453 attribute4 = X_Attribute4,
454 attribute5 = X_Attribute5,
455 attribute6 = X_Attribute6,
456 attribute7 = X_Attribute7,
457 attribute8 = X_Attribute8,
458 attribute9 = X_Attribute9,
459 attribute10 = X_Attribute10,
460 attribute11 = X_Attribute11,
461 attribute12 = X_Attribute12,
462 attribute13 = X_Attribute13,
463 attribute14 = X_Attribute14,
464 attribute15 = X_Attribute15,
465 attribute16 = X_Attribute16,
466 attribute17 = X_Attribute17,
467 attribute18 = X_Attribute18,
468 attribute19 = X_Attribute19,
469 attribute20 = X_Attribute20
470 WHERE rowid = X_Rowid;
471
472 IF (SQL%NOTFOUND) THEN
473 RAISE NO_DATA_FOUND;
474 END IF;
475
476 END Update_Row;
477
478
479 PROCEDURE Delete_Row( X_Rowid VARCHAR2,
480 p_log_level_rec IN FA_API_TYPES.log_level_rec_type default null) IS
481
482 BEGIN
483
484 DELETE FROM fa_ins_policies
485 WHERE rowid = X_Rowid;
486
487 IF (SQL%NOTFOUND) THEN
488 RAISE NO_DATA_FOUND;
489 END IF;
490
491 END Delete_Row;
492
493 END FA_INS_POLICIES_PKG;