DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_COVERAGE_PVT

Source


1 PACKAGE BODY CS_COVERAGE_PVT AS
2 /* $Header: csctcovb.pls 115.1 99/07/16 08:50:27 porting ship $ */
3   FUNCTION get_seq_id RETURN NUMBER IS
4     CURSOR get_seq_id_csr IS
5       SELECT CS_COVERAGES_S.nextval FROM SYS.DUAL;
6       l_seq_id                       NUMBER := 0;
7   BEGIN
8     OPEN get_seq_id_csr;
9     FETCH get_seq_id_csr INTO l_seq_id;
10     CLOSE get_seq_id_csr;
11     RETURN(l_seq_id);
12   END get_seq_id;
13 
14 
15   -- Validation
16   FUNCTION Validate_Item_Attributes
17   (
18     p_coverage_rec IN  Coverage_Rec_Type
19   )
20   RETURN VARCHAR2
21   IS
22     l_return_status	VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
23   BEGIN
24     IF p_coverage_rec.name = TAPI_DEV_KIT.G_MISS_CHAR OR
25        p_coverage_rec.name IS NULL
26     THEN
27       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'name');
28       l_return_status := FND_API.G_RET_STS_ERROR;
29     ELSIF p_coverage_rec.template_flag = TAPI_DEV_KIT.G_MISS_CHAR OR
30           p_coverage_rec.template_flag IS NULL
31     THEN
32       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'template_flag');
33       l_return_status := FND_API.G_RET_STS_ERROR;
34     ELSIF p_coverage_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM OR
35           p_coverage_rec.created_by IS NULL
36     THEN
37       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'created_by');
38       l_return_status := FND_API.G_RET_STS_ERROR;
39     ELSIF p_coverage_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE OR
40           p_coverage_rec.creation_date IS NULL
41     THEN
42       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'creation_date');
43       l_return_status := FND_API.G_RET_STS_ERROR;
44     ELSIF p_coverage_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE OR
45           p_coverage_rec.last_update_date IS NULL
46     THEN
47       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_update_date');
48       l_return_status := FND_API.G_RET_STS_ERROR;
49     ELSIF p_coverage_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM OR
50           p_coverage_rec.last_updated_by IS NULL
51     THEN
52       TAPI_DEV_KIT.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'last_updated_by');
53       l_return_status := FND_API.G_RET_STS_ERROR;
54     END IF;
55     RETURN(l_return_status);
56   END Validate_Item_Attributes;
57 
58 
59   ----- Default
60   FUNCTION Default_Item_Attributes
61   (
62     p_coverage_rec IN  Coverage_Rec_Type,
63     l_def_coverage_rec OUT  Coverage_Rec_Type
64   )
65   RETURN VARCHAR2
66   IS
67     l_return_status 	VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
68   BEGIN
69     l_def_coverage_rec := p_coverage_rec;
70     l_def_coverage_rec.OBJECT_VERSION_NUMBER := NVL(l_def_coverage_rec.OBJECT_VERSION_NUMBER, 0) + 1;
71     RETURN(l_return_status);
72   End Default_Item_attributes;
73 
74 
75   FUNCTION Validate_Item_Record (
76     p_coverage_rec IN Coverage_Rec_Type
77   )
78   RETURN VARCHAR2 IS
79     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
80     FUNCTION validate_foreign_keys (
81       p_coverage_rec IN Coverage_Rec_Type
82     )
83     RETURN VARCHAR2 IS
84       item_not_found_error          EXCEPTION;
85       CURSOR cc_pk_csr (p_coverage_id        IN NUMBER) IS
86       SELECT *
87         FROM Cs_Coverages
88        WHERE cs_coverages.coverage_id = p_coverage_id;
89       l_cc_pk                        cc_pk_csr%ROWTYPE;
90       l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
91       l_row_notfound                 BOOLEAN := TRUE;
92     BEGIN
93       IF (p_coverage_rec.COVERAGE_TEMPLATE_ID IS NOT NULL)
94       THEN
95         OPEN cc_pk_csr(p_coverage_rec.COVERAGE_TEMPLATE_ID);
96         FETCH cc_pk_csr INTO l_cc_pk;
97         l_row_notfound := cc_pk_csr%NOTFOUND;
98         CLOSE cc_pk_csr;
99         IF (l_row_notfound) THEN
100           TAPI_DEV_KIT.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'COVERAGE_TEMPLATE_ID');
101           RAISE item_not_found_error;
102         END IF;
103       END IF;
104       RETURN (l_return_status);
105     EXCEPTION
106       WHEN item_not_found_error THEN
107         l_return_status := FND_API.G_RET_STS_ERROR;
108         RETURN (l_return_status);
109     END validate_foreign_keys;
110   BEGIN
111     l_return_status := validate_foreign_keys (p_coverage_rec);
112     RETURN (l_return_status);
113   END Validate_Item_Record;
114 
115 
116   PROCEDURE migrate (
117     p_from	IN Coverage_Val_Rec_Type,
118     p_to	OUT Coverage_Rec_Type
119   ) IS
120   BEGIN
121     p_to.coverage_id := p_from.coverage_id;
122     p_to.coverage_template_id := p_from.coverage_template_id;
123     p_to.name := p_from.name;
124     p_to.description := p_from.description;
125     p_to.template_flag := p_from.template_flag;
126     p_to.renewal_terms := p_from.renewal_terms;
127     p_to.termination_terms := p_from.termination_terms;
128     p_to.max_support_coverage_amt := p_from.max_support_coverage_amt;
129     p_to.exception_coverage_id := p_from.exception_coverage_id;
130     p_to.time_billable_percent := p_from.time_billable_percent;
131     p_to.max_time_billable_amount := p_from.max_time_billable_amount;
132     p_to.material_billable_percent := p_from.material_billable_percent;
133     p_to.max_material_billable_amount := p_from.max_material_billable_amount;
134     p_to.expense_billable_percent := p_from.expense_billable_percent;
135     p_to.max_expense_billable_amount := p_from.max_expense_billable_amount;
136     p_to.max_coverage_amount := p_from.max_coverage_amount;
137     p_to.response_time_period_code := p_from.response_time_period_code;
138     p_to.response_time_value := p_from.response_time_value;
139     p_to.sunday_start_time := p_from.sunday_start_time;
140     p_to.sunday_end_time := p_from.sunday_end_time;
141     p_to.monday_start_time := p_from.monday_start_time;
142     p_to.monday_end_time := p_from.monday_end_time;
146     p_to.end_date_active := p_from.end_date_active;
143     p_to.start_date_active := p_from.start_date_active;
144     p_to.tuesday_start_time := p_from.tuesday_start_time;
145     p_to.tuesday_end_time := p_from.tuesday_end_time;
147     p_to.wednesday_start_time := p_from.wednesday_start_time;
148     p_to.wednesday_end_time := p_from.wednesday_end_time;
149     p_to.thursday_start_time := p_from.thursday_start_time;
150     p_to.thursday_end_time := p_from.thursday_end_time;
151     p_to.friday_start_time := p_from.friday_start_time;
152     p_to.friday_end_time := p_from.friday_end_time;
153     p_to.saturday_start_time := p_from.saturday_start_time;
154     p_to.saturday_end_time := p_from.saturday_end_time;
155     p_to.created_by := p_from.created_by;
156     p_to.creation_date := p_from.creation_date;
157     p_to.last_update_date := p_from.last_update_date;
158     p_to.last_updated_by := p_from.last_updated_by;
159     p_to.last_update_login := p_from.last_update_login;
160     p_to.attribute3 := p_from.attribute3;
161     p_to.attribute1 := p_from.attribute1;
162     p_to.attribute2 := p_from.attribute2;
163     p_to.attribute4 := p_from.attribute4;
164     p_to.attribute5 := p_from.attribute5;
165     p_to.attribute6 := p_from.attribute6;
166     p_to.attribute7 := p_from.attribute7;
167     p_to.attribute8 := p_from.attribute8;
168     p_to.attribute9 := p_from.attribute9;
169     p_to.attribute10 := p_from.attribute10;
170     p_to.attribute11 := p_from.attribute11;
171     p_to.attribute12 := p_from.attribute12;
172     p_to.attribute13 := p_from.attribute13;
173     p_to.attribute14 := p_from.attribute14;
174     p_to.attribute15 := p_from.attribute15;
175     p_to.context := p_from.context;
176     p_to.object_version_number := p_from.object_version_number;
177   END migrate;
178   PROCEDURE migrate (
179     p_from	IN Coverage_Rec_Type,
180     p_to	OUT Coverage_Val_Rec_Type
181   ) IS
182   BEGIN
183     p_to.coverage_id := p_from.coverage_id;
184     p_to.coverage_template_id := p_from.coverage_template_id;
185     p_to.name := p_from.name;
186     p_to.description := p_from.description;
187     p_to.template_flag := p_from.template_flag;
188     p_to.renewal_terms := p_from.renewal_terms;
189     p_to.termination_terms := p_from.termination_terms;
190     p_to.max_support_coverage_amt := p_from.max_support_coverage_amt;
191     p_to.exception_coverage_id := p_from.exception_coverage_id;
192     p_to.time_billable_percent := p_from.time_billable_percent;
193     p_to.max_time_billable_amount := p_from.max_time_billable_amount;
194     p_to.material_billable_percent := p_from.material_billable_percent;
195     p_to.max_material_billable_amount := p_from.max_material_billable_amount;
196     p_to.expense_billable_percent := p_from.expense_billable_percent;
197     p_to.max_expense_billable_amount := p_from.max_expense_billable_amount;
198     p_to.max_coverage_amount := p_from.max_coverage_amount;
199     p_to.response_time_period_code := p_from.response_time_period_code;
200     p_to.response_time_value := p_from.response_time_value;
201     p_to.sunday_start_time := p_from.sunday_start_time;
202     p_to.sunday_end_time := p_from.sunday_end_time;
203     p_to.monday_start_time := p_from.monday_start_time;
204     p_to.monday_end_time := p_from.monday_end_time;
205     p_to.start_date_active := p_from.start_date_active;
206     p_to.tuesday_start_time := p_from.tuesday_start_time;
207     p_to.tuesday_end_time := p_from.tuesday_end_time;
208     p_to.end_date_active := p_from.end_date_active;
209     p_to.wednesday_start_time := p_from.wednesday_start_time;
210     p_to.wednesday_end_time := p_from.wednesday_end_time;
214     p_to.friday_end_time := p_from.friday_end_time;
211     p_to.thursday_start_time := p_from.thursday_start_time;
212     p_to.thursday_end_time := p_from.thursday_end_time;
213     p_to.friday_start_time := p_from.friday_start_time;
215     p_to.saturday_start_time := p_from.saturday_start_time;
216     p_to.saturday_end_time := p_from.saturday_end_time;
217     p_to.created_by := p_from.created_by;
218     p_to.creation_date := p_from.creation_date;
219     p_to.last_update_date := p_from.last_update_date;
220     p_to.last_updated_by := p_from.last_updated_by;
221     p_to.last_update_login := p_from.last_update_login;
222     p_to.attribute3 := p_from.attribute3;
223     p_to.attribute1 := p_from.attribute1;
224     p_to.attribute2 := p_from.attribute2;
225     p_to.attribute4 := p_from.attribute4;
226     p_to.attribute5 := p_from.attribute5;
227     p_to.attribute6 := p_from.attribute6;
228     p_to.attribute7 := p_from.attribute7;
229     p_to.attribute8 := p_from.attribute8;
230     p_to.attribute9 := p_from.attribute9;
231     p_to.attribute10 := p_from.attribute10;
232     p_to.attribute11 := p_from.attribute11;
233     p_to.attribute12 := p_from.attribute12;
234     p_to.attribute13 := p_from.attribute13;
235     p_to.attribute14 := p_from.attribute14;
236     p_to.attribute15 := p_from.attribute15;
237     p_to.context := p_from.context;
238     p_to.object_version_number := p_from.object_version_number;
239   END migrate;
240   PROCEDURE insert_row
241   (
242     p_api_version                  IN NUMBER,
243     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
244     p_validation_level             IN NUMBER,
245     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
246     x_return_status                OUT VARCHAR2,
247     x_msg_count                    OUT NUMBER,
248     x_msg_data                     OUT VARCHAR2,
249     p_coverage_rec                 IN Coverage_Rec_Type := G_MISS_COVERAGE_REC,
250     x_coverage_id                  OUT NUMBER,
251     x_object_version_number        OUT NUMBER) IS
252     l_api_name                     CONSTANT VARCHAR2(30) := 'insert_row';
253     l_api_version                  CONSTANT NUMBER := 1;
254     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
255     l_coverage_rec                 Coverage_Rec_Type;
256     l_def_coverage_rec             Coverage_Rec_Type;
257   BEGIN
258     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
259                                               G_PKG_NAME,
260                                               l_api_version,
261                                               p_api_version,
262                                               p_init_msg_list,
263                                               '_Pvt',
264                                               x_return_status);
265     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
269     END IF;
266       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
267     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
268       RAISE FND_API.G_EXC_ERROR;
270     l_coverage_rec := p_coverage_rec;
271     --- Validate all non-missing attributes (Item Level Validation)
272     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
273       l_return_status := Validate_Item_Attributes
274       (
275         l_coverage_rec    ---- IN
276       );
277       --- If any errors happen abort API
278       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
279         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
280       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
281         RAISE FND_API.G_EXC_ERROR;
282       END IF;
283     END IF;
284     --- Defaulting item attributes
285     l_return_status := Default_Item_Attributes
286     (
287       l_coverage_rec,    ---- IN
288       l_def_coverage_rec
289     );
290     --- If any errors happen abort API
291     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
292       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
293     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
294       RAISE FND_API.G_EXC_ERROR;
295     END IF;
296     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
297       l_return_status := Validate_Item_Record(l_def_coverage_rec);
298       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
299         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
300       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
301         RAISE FND_API.G_EXC_ERROR;
302       END IF;
303     END IF;
304     -- Set primary key value
305     l_def_coverage_rec.coverage_id := get_seq_id;
306     INSERT INTO CS_COVERAGES(
307         coverage_id,
308         coverage_template_id,
309         name,
310         description,
311         template_flag,
312         renewal_terms,
313         termination_terms,
314         max_support_coverage_amt,
315         exception_coverage_id,
316         time_billable_percent,
317         max_time_billable_amount,
318         material_billable_percent,
319         max_material_billable_amount,
320         expense_billable_percent,
321         max_expense_billable_amount,
322         max_coverage_amount,
323         response_time_period_code,
324         response_time_value,
325         sunday_start_time,
326         sunday_end_time,
327         monday_start_time,
328         monday_end_time,
329         start_date_active,
330         tuesday_start_time,
331         tuesday_end_time,
332         end_date_active,
336         thursday_end_time,
333         wednesday_start_time,
334         wednesday_end_time,
335         thursday_start_time,
337         friday_start_time,
338         friday_end_time,
339         saturday_start_time,
340         saturday_end_time,
341         created_by,
342         creation_date,
343         last_update_date,
344         last_updated_by,
345         last_update_login,
346         attribute3,
347         attribute1,
348         attribute2,
349         attribute4,
350         attribute5,
351         attribute6,
352         attribute7,
353         attribute8,
354         attribute9,
355         attribute10,
356         attribute11,
357         attribute12,
358         attribute13,
359         attribute14,
360         attribute15,
361         context,
362         object_version_number)
363       VALUES (
364         l_def_coverage_rec.coverage_id,
365         l_def_coverage_rec.coverage_template_id,
366         l_def_coverage_rec.name,
367         l_def_coverage_rec.description,
368         l_def_coverage_rec.template_flag,
369         l_def_coverage_rec.renewal_terms,
370         l_def_coverage_rec.termination_terms,
371         l_def_coverage_rec.max_support_coverage_amt,
372         l_def_coverage_rec.exception_coverage_id,
373         l_def_coverage_rec.time_billable_percent,
374         l_def_coverage_rec.max_time_billable_amount,
375         l_def_coverage_rec.material_billable_percent,
376         l_def_coverage_rec.max_material_billable_amount,
377         l_def_coverage_rec.expense_billable_percent,
378         l_def_coverage_rec.max_expense_billable_amount,
379         l_def_coverage_rec.max_coverage_amount,
380         l_def_coverage_rec.response_time_period_code,
381         l_def_coverage_rec.response_time_value,
382         l_def_coverage_rec.sunday_start_time,
383         l_def_coverage_rec.sunday_end_time,
384         l_def_coverage_rec.monday_start_time,
385         l_def_coverage_rec.monday_end_time,
386         l_def_coverage_rec.start_date_active,
387         l_def_coverage_rec.tuesday_start_time,
388         l_def_coverage_rec.tuesday_end_time,
389         l_def_coverage_rec.end_date_active,
390         l_def_coverage_rec.wednesday_start_time,
391         l_def_coverage_rec.wednesday_end_time,
392         l_def_coverage_rec.thursday_start_time,
393         l_def_coverage_rec.thursday_end_time,
394         l_def_coverage_rec.friday_start_time,
395         l_def_coverage_rec.friday_end_time,
396         l_def_coverage_rec.saturday_start_time,
397         l_def_coverage_rec.saturday_end_time,
398         l_def_coverage_rec.created_by,
399         l_def_coverage_rec.creation_date,
400         l_def_coverage_rec.last_update_date,
401         l_def_coverage_rec.last_updated_by,
402         l_def_coverage_rec.last_update_login,
403         l_def_coverage_rec.attribute3,
404         l_def_coverage_rec.attribute1,
405         l_def_coverage_rec.attribute2,
406         l_def_coverage_rec.attribute4,
407         l_def_coverage_rec.attribute5,
408         l_def_coverage_rec.attribute6,
409         l_def_coverage_rec.attribute7,
410         l_def_coverage_rec.attribute8,
411         l_def_coverage_rec.attribute9,
412         l_def_coverage_rec.attribute10,
413         l_def_coverage_rec.attribute11,
414         l_def_coverage_rec.attribute12,
415         l_def_coverage_rec.attribute13,
416         l_def_coverage_rec.attribute14,
417         l_def_coverage_rec.attribute15,
418         l_def_coverage_rec.context,
419         l_def_coverage_rec.object_version_number);
420     -- Set OUT values
421     x_coverage_id := l_def_coverage_rec.coverage_id;
422     x_object_version_number       := l_def_coverage_rec.OBJECT_VERSION_NUMBER;
423     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
424   EXCEPTION
425     WHEN FND_API.G_EXC_ERROR THEN
426       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
427       (
428         l_api_name,
429         G_PKG_NAME,
430         'FND_API.G_RET_STS_ERROR',
431         x_msg_count,
432         x_msg_data,
433         '_Pvt'
434       );
435     APP_EXCEPTION.RAISE_EXCEPTION;
436     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
437       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
438       (
439         l_api_name,
440         G_PKG_NAME,
441         'FND_API.G_RET_STS_UNEXP_ERROR',
442         x_msg_count,
443         x_msg_data,
444         '_Pvt'
445       );
446     APP_EXCEPTION.RAISE_EXCEPTION;
447     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
448       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
449       (
450         l_api_name,
451         G_PKG_NAME,
452         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
453         x_msg_count,
454         x_msg_data,
455         '_Pvt'
459   PROCEDURE insert_row
456       );
457     APP_EXCEPTION.RAISE_EXCEPTION;
458   END insert_row;
460   (
461     p_api_version                  IN NUMBER,
462     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
463     p_validation_level             IN NUMBER,
464     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
465     x_return_status                OUT VARCHAR2,
466     x_msg_count                    OUT NUMBER,
467     x_msg_data                     OUT VARCHAR2,
468     p_coverage_template_id         IN NUMBER := NULL,
469     p_name                         IN CS_COVERAGES.NAME%TYPE := NULL,
470     p_description                  IN CS_COVERAGES.DESCRIPTION%TYPE := NULL,
471     p_template_flag                IN CS_COVERAGES.TEMPLATE_FLAG%TYPE := NULL,
472     p_renewal_terms                IN CS_COVERAGES.RENEWAL_TERMS%TYPE := NULL,
473     p_termination_terms            IN CS_COVERAGES.TERMINATION_TERMS%TYPE := NULL,
474     p_max_support_coverage_amt     IN NUMBER := NULL,
475     p_exception_coverage_id        IN NUMBER := NULL,
476     p_time_billable_percent        IN NUMBER := NULL,
477     p_max_time_billable_amount     IN NUMBER := NULL,
478     p_material_billable_percent    IN NUMBER := NULL,
479     p_max_material_billable_amount  IN NUMBER := NULL,
480     p_expense_billable_percent     IN NUMBER := NULL,
481     p_max_expense_billable_amount  IN NUMBER := NULL,
482     p_max_coverage_amount          IN NUMBER := NULL,
483     p_response_time_period_code    IN CS_COVERAGES.RESPONSE_TIME_PERIOD_CODE%TYPE := NULL,
484     p_response_time_value          IN NUMBER := NULL,
485     p_sunday_start_time            IN CS_COVERAGES.SUNDAY_START_TIME%TYPE := NULL,
486     p_sunday_end_time              IN CS_COVERAGES.SUNDAY_END_TIME%TYPE := NULL,
487     p_monday_start_time            IN CS_COVERAGES.MONDAY_START_TIME%TYPE := NULL,
488     p_monday_end_time              IN CS_COVERAGES.MONDAY_END_TIME%TYPE := NULL,
489     p_start_date_active            IN CS_COVERAGES.START_DATE_ACTIVE%TYPE := NULL,
490     p_tuesday_start_time           IN CS_COVERAGES.TUESDAY_START_TIME%TYPE := NULL,
491     p_tuesday_end_time             IN CS_COVERAGES.TUESDAY_END_TIME%TYPE := NULL,
492     p_end_date_active              IN CS_COVERAGES.END_DATE_ACTIVE%TYPE := NULL,
493     p_wednesday_start_time         IN CS_COVERAGES.WEDNESDAY_START_TIME%TYPE := NULL,
494     p_wednesday_end_time           IN CS_COVERAGES.WEDNESDAY_END_TIME%TYPE := NULL,
495     p_thursday_start_time          IN CS_COVERAGES.THURSDAY_START_TIME%TYPE := NULL,
496     p_thursday_end_time            IN CS_COVERAGES.THURSDAY_END_TIME%TYPE := NULL,
497     p_friday_start_time            IN CS_COVERAGES.FRIDAY_START_TIME%TYPE := NULL,
498     p_friday_end_time              IN CS_COVERAGES.FRIDAY_END_TIME%TYPE := NULL,
499     p_saturday_start_time          IN CS_COVERAGES.SATURDAY_START_TIME%TYPE := NULL,
500     p_saturday_end_time            IN CS_COVERAGES.SATURDAY_END_TIME%TYPE := NULL,
501     p_created_by                   IN NUMBER := NULL,
502     p_creation_date                IN CS_COVERAGES.CREATION_DATE%TYPE := NULL,
503     p_last_update_date             IN CS_COVERAGES.LAST_UPDATE_DATE%TYPE := NULL,
504     p_last_updated_by              IN NUMBER := NULL,
505     p_last_update_login            IN NUMBER := NULL,
506     p_attribute3                   IN CS_COVERAGES.ATTRIBUTE3%TYPE := NULL,
507     p_attribute1                   IN CS_COVERAGES.ATTRIBUTE1%TYPE := NULL,
508     p_attribute2                   IN CS_COVERAGES.ATTRIBUTE2%TYPE := NULL,
509     p_attribute4                   IN CS_COVERAGES.ATTRIBUTE4%TYPE := NULL,
510     p_attribute5                   IN CS_COVERAGES.ATTRIBUTE5%TYPE := NULL,
511     p_attribute6                   IN CS_COVERAGES.ATTRIBUTE6%TYPE := NULL,
512     p_attribute7                   IN CS_COVERAGES.ATTRIBUTE7%TYPE := NULL,
513     p_attribute8                   IN CS_COVERAGES.ATTRIBUTE8%TYPE := NULL,
514     p_attribute9                   IN CS_COVERAGES.ATTRIBUTE9%TYPE := NULL,
515     p_attribute10                  IN CS_COVERAGES.ATTRIBUTE10%TYPE := NULL,
516     p_attribute11                  IN CS_COVERAGES.ATTRIBUTE11%TYPE := NULL,
517     p_attribute12                  IN CS_COVERAGES.ATTRIBUTE12%TYPE := NULL,
518     p_attribute13                  IN CS_COVERAGES.ATTRIBUTE13%TYPE := NULL,
519     p_attribute14                  IN CS_COVERAGES.ATTRIBUTE14%TYPE := NULL,
520     p_attribute15                  IN CS_COVERAGES.ATTRIBUTE15%TYPE := NULL,
521     p_context                      IN CS_COVERAGES.CONTEXT%TYPE := NULL,
522     p_object_version_number        IN NUMBER := NULL,
523     x_coverage_id                  OUT NUMBER,
524     x_object_version_number        OUT NUMBER) IS
525     l_api_name                     CONSTANT VARCHAR2(30) := 'insert_row';
526     l_api_version                  CONSTANT NUMBER := 1;
527     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
528     l_coverage_rec                 Coverage_Rec_Type;
529   BEGIN
530     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
531                                               G_PKG_NAME,
532                                               l_api_version,
533                                               p_api_version,
534                                               p_init_msg_list,
535                                               '_Pvt',
536                                               x_return_status);
537     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
538       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
539     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
540       RAISE FND_API.G_EXC_ERROR;
541     END IF;
542     l_coverage_rec.COVERAGE_TEMPLATE_ID := p_coverage_template_id;
543     l_coverage_rec.NAME := p_name;
544     l_coverage_rec.DESCRIPTION := p_description;
545     l_coverage_rec.TEMPLATE_FLAG := p_template_flag;
546     l_coverage_rec.RENEWAL_TERMS := p_renewal_terms;
547     l_coverage_rec.TERMINATION_TERMS := p_termination_terms;
548     l_coverage_rec.MAX_SUPPORT_COVERAGE_AMT := p_max_support_coverage_amt;
552     l_coverage_rec.MATERIAL_BILLABLE_PERCENT := p_material_billable_percent;
549     l_coverage_rec.EXCEPTION_COVERAGE_ID := p_exception_coverage_id;
550     l_coverage_rec.TIME_BILLABLE_PERCENT := p_time_billable_percent;
551     l_coverage_rec.MAX_TIME_BILLABLE_AMOUNT := p_max_time_billable_amount;
553     l_coverage_rec.MAX_MATERIAL_BILLABLE_AMOUNT := p_max_material_billable_amount;
554     l_coverage_rec.EXPENSE_BILLABLE_PERCENT := p_expense_billable_percent;
555     l_coverage_rec.MAX_EXPENSE_BILLABLE_AMOUNT := p_max_expense_billable_amount;
556     l_coverage_rec.MAX_COVERAGE_AMOUNT := p_max_coverage_amount;
557     l_coverage_rec.RESPONSE_TIME_PERIOD_CODE := p_response_time_period_code;
558     l_coverage_rec.RESPONSE_TIME_VALUE := p_response_time_value;
559     l_coverage_rec.SUNDAY_START_TIME := p_sunday_start_time;
560     l_coverage_rec.SUNDAY_END_TIME := p_sunday_end_time;
561     l_coverage_rec.MONDAY_START_TIME := p_monday_start_time;
562     l_coverage_rec.MONDAY_END_TIME := p_monday_end_time;
563     l_coverage_rec.START_DATE_ACTIVE := p_start_date_active;
564     l_coverage_rec.TUESDAY_START_TIME := p_tuesday_start_time;
565     l_coverage_rec.TUESDAY_END_TIME := p_tuesday_end_time;
566     l_coverage_rec.END_DATE_ACTIVE := p_end_date_active;
567     l_coverage_rec.WEDNESDAY_START_TIME := p_wednesday_start_time;
568     l_coverage_rec.WEDNESDAY_END_TIME := p_wednesday_end_time;
569     l_coverage_rec.THURSDAY_START_TIME := p_thursday_start_time;
570     l_coverage_rec.THURSDAY_END_TIME := p_thursday_end_time;
571     l_coverage_rec.FRIDAY_START_TIME := p_friday_start_time;
572     l_coverage_rec.FRIDAY_END_TIME := p_friday_end_time;
573     l_coverage_rec.SATURDAY_START_TIME := p_saturday_start_time;
574     l_coverage_rec.SATURDAY_END_TIME := p_saturday_end_time;
575     l_coverage_rec.CREATED_BY := p_created_by;
576     l_coverage_rec.CREATION_DATE := p_creation_date;
577     l_coverage_rec.LAST_UPDATE_DATE := p_last_update_date;
578     l_coverage_rec.LAST_UPDATED_BY := p_last_updated_by;
579     l_coverage_rec.LAST_UPDATE_LOGIN := p_last_update_login;
580     l_coverage_rec.ATTRIBUTE3 := p_attribute3;
581     l_coverage_rec.ATTRIBUTE1 := p_attribute1;
582     l_coverage_rec.ATTRIBUTE2 := p_attribute2;
583     l_coverage_rec.ATTRIBUTE4 := p_attribute4;
584     l_coverage_rec.ATTRIBUTE5 := p_attribute5;
585     l_coverage_rec.ATTRIBUTE6 := p_attribute6;
586     l_coverage_rec.ATTRIBUTE7 := p_attribute7;
587     l_coverage_rec.ATTRIBUTE8 := p_attribute8;
588     l_coverage_rec.ATTRIBUTE9 := p_attribute9;
589     l_coverage_rec.ATTRIBUTE10 := p_attribute10;
590     l_coverage_rec.ATTRIBUTE11 := p_attribute11;
591     l_coverage_rec.ATTRIBUTE12 := p_attribute12;
592     l_coverage_rec.ATTRIBUTE13 := p_attribute13;
593     l_coverage_rec.ATTRIBUTE14 := p_attribute14;
594     l_coverage_rec.ATTRIBUTE15 := p_attribute15;
595     l_coverage_rec.CONTEXT := p_context;
596     l_coverage_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
597     insert_row(
598       p_api_version,
599       p_init_msg_list,
600       p_validation_level,
601       p_commit,
602       x_return_status,
603       x_msg_count,
604       x_msg_data,
605       l_coverage_rec,
606       x_coverage_id,
607       x_object_version_number
608     );
609     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
610   EXCEPTION
611     WHEN FND_API.G_EXC_ERROR THEN
612       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
613       (
614         l_api_name,
615         G_PKG_NAME,
616         'FND_API.G_RET_STS_ERROR',
617         x_msg_count,
618         x_msg_data,
619         '_Pvt'
620       );
621     APP_EXCEPTION.RAISE_EXCEPTION;
622     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
623       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
624       (
625         l_api_name,
626         G_PKG_NAME,
627         'FND_API.G_RET_STS_UNEXP_ERROR',
628         x_msg_count,
629         x_msg_data,
630         '_Pvt'
631       );
632     APP_EXCEPTION.RAISE_EXCEPTION;
633     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
634       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
635       (
636         l_api_name,
637         G_PKG_NAME,
638         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
639         x_msg_count,
640         x_msg_data,
641         '_Pvt'
642       );
643     APP_EXCEPTION.RAISE_EXCEPTION;
644   END insert_row;
645   Procedure lock_row
646   (
647     p_api_version                  IN NUMBER,
648     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
649     p_validation_level             IN NUMBER,
650     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
651     x_return_status                OUT VARCHAR2,
652     x_msg_count                    OUT NUMBER,
653     x_msg_data                     OUT VARCHAR2,
654     p_coverage_id                  IN NUMBER,
655     p_object_version_number        IN NUMBER) IS
656     E_Resource_Busy               EXCEPTION;
657     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
658     CURSOR lock_csr IS
659     SELECT OBJECT_VERSION_NUMBER
660      FROM CS_COVERAGES
661     WHERE
662       COVERAGE_ID = p_coverage_id AND
663       OBJECT_VERSION_NUMBER = p_object_version_number
664     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
665 
666     CURSOR  lchk_csr IS
667     SELECT OBJECT_VERSION_NUMBER
668      FROM CS_COVERAGES
669     WHERE
670       COVERAGE_ID = p_coverage_id
671       ;
672     l_api_name                     CONSTANT VARCHAR2(30) := 'lock_row';
673     l_api_version                  CONSTANT NUMBER := 1;
674     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
675     l_object_version_number       CS_COVERAGES.OBJECT_VERSION_NUMBER%TYPE;
676     lc_object_version_number      CS_COVERAGES.OBJECT_VERSION_NUMBER%TYPE;
680     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
677     l_row_notfound                BOOLEAN := FALSE;
678     lc_row_notfound               BOOLEAN := FALSE;
679   BEGIN
681                                               G_PKG_NAME,
682                                               l_api_version,
683                                               p_api_version,
684                                               p_init_msg_list,
685                                               '_Pvt',
686                                               x_return_status);
687     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
688       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
689     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
690       RAISE FND_API.G_EXC_ERROR;
691     END IF;
692     BEGIN
693       OPEN lock_csr;
694       FETCH lock_csr INTO l_object_version_number;
695       l_row_notfound := lock_csr%NOTFOUND;
696       CLOSE lock_csr;
697     EXCEPTION
698       WHEN E_Resource_Busy THEN
699         IF (lock_csr%ISOPEN) THEN
700           CLOSE lock_csr;
701         END IF;
702         TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
703         RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
704     END;
705 
706     IF ( l_row_notfound ) THEN
707       OPEN lchk_csr;
708       FETCH lchk_csr INTO lc_object_version_number;
709       lc_row_notfound := lchk_csr%NOTFOUND;
710       CLOSE lchk_csr;
711     END IF;
712     IF (lc_row_notfound) THEN
713       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
714       RAISE FND_API.G_EXC_ERROR;
715     ELSIF lc_object_version_number > p_object_version_number THEN
716       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
717       RAISE FND_API.G_EXC_ERROR;
718     ELSIF lc_object_version_number <> p_object_version_number THEN
719       TAPI_DEV_KIT.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
720       RAISE FND_API.G_EXC_ERROR;
721     ELSIF lc_object_version_number = -1 THEN
722       TAPI_DEV_KIT.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
723       RAISE FND_API.G_EXC_ERROR;
724     END IF;
725     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
726   EXCEPTION
727     WHEN FND_API.G_EXC_ERROR THEN
728       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
729       (
730         l_api_name,
731         G_PKG_NAME,
732         'FND_API.G_RET_STS_ERROR',
733         x_msg_count,
734         x_msg_data,
735         '_Pvt'
736       );
737     APP_EXCEPTION.RAISE_EXCEPTION;
738     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
739       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
740       (
741         l_api_name,
742         G_PKG_NAME,
743         'FND_API.G_RET_STS_UNEXP_ERROR',
744         x_msg_count,
745         x_msg_data,
746         '_Pvt'
747       );
748     APP_EXCEPTION.RAISE_EXCEPTION;
749     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
750       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
751       (
752         l_api_name,
753         G_PKG_NAME,
754         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
755         x_msg_count,
756         x_msg_data,
757         '_Pvt'
758       );
759     APP_EXCEPTION.RAISE_EXCEPTION;
760   END lock_row;
761   Procedure update_row
762   (
763     p_api_version                  IN NUMBER,
764     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
765     p_validation_level             IN NUMBER,
766     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
767     x_return_status                OUT VARCHAR2,
768     x_msg_count                    OUT NUMBER,
769     x_msg_data                     OUT VARCHAR2,
770     p_coverage_val_rec             IN Coverage_Val_Rec_Type := G_MISS_COVERAGE_VAL_REC,
771     x_object_version_number        OUT NUMBER) IS
772     l_api_name                     CONSTANT VARCHAR2(30) := 'update_row';
773     l_api_version                  CONSTANT NUMBER := 1;
774     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
775     l_coverage_rec                 Coverage_Rec_Type;
776     l_def_coverage_rec             Coverage_Rec_Type;
777     FUNCTION populate_new_record (
778       p_coverage_rec	IN Coverage_Rec_Type,
779       x_coverage_rec	OUT Coverage_Rec_Type
780     ) RETURN VARCHAR2 IS
781       CURSOR cc_pk_csr (p_coverage_id        IN NUMBER) IS
782       SELECT *
783         FROM Cs_Coverages
784        WHERE cs_coverages.coverage_id = p_coverage_id;
785       l_cc_pk                        cc_pk_csr%ROWTYPE;
786       l_row_notfound		BOOLEAN := TRUE;
787       l_return_status		VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
788     BEGIN
789       x_coverage_rec := p_coverage_rec;
790       -- Get current database values
791       OPEN cc_pk_csr (p_coverage_rec.coverage_id);
792       FETCH cc_pk_csr INTO l_cc_pk;
793       l_row_notfound := cc_pk_csr%NOTFOUND;
794       CLOSE cc_pk_csr;
795       IF (l_row_notfound) THEN
796         l_return_status := FND_API.G_RET_STS_ERROR;
797       END IF;
798       IF (x_coverage_rec.coverage_id = TAPI_DEV_KIT.G_MISS_NUM)
799       THEN
800         x_coverage_rec.coverage_id := l_cc_pk.coverage_id;
801       END IF;
802       IF (x_coverage_rec.coverage_template_id = TAPI_DEV_KIT.G_MISS_NUM)
803       THEN
804         x_coverage_rec.coverage_template_id := l_cc_pk.coverage_template_id;
805       END IF;
806       IF (x_coverage_rec.name = TAPI_DEV_KIT.G_MISS_CHAR)
807       THEN
808         x_coverage_rec.name := l_cc_pk.name;
809       END IF;
810       IF (x_coverage_rec.description = TAPI_DEV_KIT.G_MISS_CHAR)
811       THEN
812         x_coverage_rec.description := l_cc_pk.description;
813       END IF;
817       END IF;
814       IF (x_coverage_rec.template_flag = TAPI_DEV_KIT.G_MISS_CHAR)
815       THEN
816         x_coverage_rec.template_flag := l_cc_pk.template_flag;
818       IF (x_coverage_rec.renewal_terms = TAPI_DEV_KIT.G_MISS_CHAR)
819       THEN
820         x_coverage_rec.renewal_terms := l_cc_pk.renewal_terms;
821       END IF;
822       IF (x_coverage_rec.termination_terms = TAPI_DEV_KIT.G_MISS_CHAR)
823       THEN
824         x_coverage_rec.termination_terms := l_cc_pk.termination_terms;
825       END IF;
826       IF (x_coverage_rec.max_support_coverage_amt = TAPI_DEV_KIT.G_MISS_NUM)
827       THEN
828         x_coverage_rec.max_support_coverage_amt := l_cc_pk.max_support_coverage_amt;
829       END IF;
830       IF (x_coverage_rec.exception_coverage_id = TAPI_DEV_KIT.G_MISS_NUM)
831       THEN
832         x_coverage_rec.exception_coverage_id := l_cc_pk.exception_coverage_id;
833       END IF;
834       IF (x_coverage_rec.time_billable_percent = TAPI_DEV_KIT.G_MISS_NUM)
835       THEN
836         x_coverage_rec.time_billable_percent := l_cc_pk.time_billable_percent;
837       END IF;
838       IF (x_coverage_rec.max_time_billable_amount = TAPI_DEV_KIT.G_MISS_NUM)
839       THEN
840         x_coverage_rec.max_time_billable_amount := l_cc_pk.max_time_billable_amount;
841       END IF;
842       IF (x_coverage_rec.material_billable_percent = TAPI_DEV_KIT.G_MISS_NUM)
843       THEN
844         x_coverage_rec.material_billable_percent := l_cc_pk.material_billable_percent;
845       END IF;
846       IF (x_coverage_rec.max_material_billable_amount = TAPI_DEV_KIT.G_MISS_NUM)
847       THEN
848         x_coverage_rec.max_material_billable_amount := l_cc_pk.max_material_billable_amount;
849       END IF;
850       IF (x_coverage_rec.expense_billable_percent = TAPI_DEV_KIT.G_MISS_NUM)
851       THEN
852         x_coverage_rec.expense_billable_percent := l_cc_pk.expense_billable_percent;
853       END IF;
854       IF (x_coverage_rec.max_expense_billable_amount = TAPI_DEV_KIT.G_MISS_NUM)
855       THEN
856         x_coverage_rec.max_expense_billable_amount := l_cc_pk.max_expense_billable_amount;
857       END IF;
858       IF (x_coverage_rec.max_coverage_amount = TAPI_DEV_KIT.G_MISS_NUM)
859       THEN
860         x_coverage_rec.max_coverage_amount := l_cc_pk.max_coverage_amount;
861       END IF;
862       IF (x_coverage_rec.response_time_period_code = TAPI_DEV_KIT.G_MISS_CHAR)
863       THEN
864         x_coverage_rec.response_time_period_code := l_cc_pk.response_time_period_code;
865       END IF;
866       IF (x_coverage_rec.response_time_value = TAPI_DEV_KIT.G_MISS_NUM)
867       THEN
868         x_coverage_rec.response_time_value := l_cc_pk.response_time_value;
869       END IF;
870       IF (x_coverage_rec.sunday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
871       THEN
872         x_coverage_rec.sunday_start_time := l_cc_pk.sunday_start_time;
873       END IF;
874       IF (x_coverage_rec.sunday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
875       THEN
876         x_coverage_rec.sunday_end_time := l_cc_pk.sunday_end_time;
877       END IF;
878       IF (x_coverage_rec.monday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
879       THEN
880         x_coverage_rec.monday_start_time := l_cc_pk.monday_start_time;
881       END IF;
882       IF (x_coverage_rec.monday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
883       THEN
884         x_coverage_rec.monday_end_time := l_cc_pk.monday_end_time;
885       END IF;
886       IF (x_coverage_rec.start_date_active = TAPI_DEV_KIT.G_MISS_DATE)
887       THEN
888         x_coverage_rec.start_date_active := l_cc_pk.start_date_active;
889       END IF;
890       IF (x_coverage_rec.tuesday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
891       THEN
892         x_coverage_rec.tuesday_start_time := l_cc_pk.tuesday_start_time;
893       END IF;
894       IF (x_coverage_rec.tuesday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
895       THEN
896         x_coverage_rec.tuesday_end_time := l_cc_pk.tuesday_end_time;
897       END IF;
898       IF (x_coverage_rec.end_date_active = TAPI_DEV_KIT.G_MISS_DATE)
899       THEN
900         x_coverage_rec.end_date_active := l_cc_pk.end_date_active;
901       END IF;
902       IF (x_coverage_rec.wednesday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
903       THEN
904         x_coverage_rec.wednesday_start_time := l_cc_pk.wednesday_start_time;
905       END IF;
906       IF (x_coverage_rec.wednesday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
907       THEN
908         x_coverage_rec.wednesday_end_time := l_cc_pk.wednesday_end_time;
909       END IF;
910       IF (x_coverage_rec.thursday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
911       THEN
912         x_coverage_rec.thursday_start_time := l_cc_pk.thursday_start_time;
913       END IF;
914       IF (x_coverage_rec.thursday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
915       THEN
916         x_coverage_rec.thursday_end_time := l_cc_pk.thursday_end_time;
917       END IF;
918       IF (x_coverage_rec.friday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
919       THEN
920         x_coverage_rec.friday_start_time := l_cc_pk.friday_start_time;
921       END IF;
922       IF (x_coverage_rec.friday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
923       THEN
924         x_coverage_rec.friday_end_time := l_cc_pk.friday_end_time;
925       END IF;
926       IF (x_coverage_rec.saturday_start_time = TAPI_DEV_KIT.G_MISS_DATE)
927       THEN
928         x_coverage_rec.saturday_start_time := l_cc_pk.saturday_start_time;
929       END IF;
930       IF (x_coverage_rec.saturday_end_time = TAPI_DEV_KIT.G_MISS_DATE)
931       THEN
932         x_coverage_rec.saturday_end_time := l_cc_pk.saturday_end_time;
933       END IF;
934       IF (x_coverage_rec.created_by = TAPI_DEV_KIT.G_MISS_NUM)
935       THEN
936         x_coverage_rec.created_by := l_cc_pk.created_by;
937       END IF;
938       IF (x_coverage_rec.creation_date = TAPI_DEV_KIT.G_MISS_DATE)
942       IF (x_coverage_rec.last_update_date = TAPI_DEV_KIT.G_MISS_DATE)
939       THEN
940         x_coverage_rec.creation_date := l_cc_pk.creation_date;
941       END IF;
943       THEN
944         x_coverage_rec.last_update_date := l_cc_pk.last_update_date;
945       END IF;
946       IF (x_coverage_rec.last_updated_by = TAPI_DEV_KIT.G_MISS_NUM)
947       THEN
948         x_coverage_rec.last_updated_by := l_cc_pk.last_updated_by;
949       END IF;
950       IF (x_coverage_rec.last_update_login = TAPI_DEV_KIT.G_MISS_NUM)
951       THEN
952         x_coverage_rec.last_update_login := l_cc_pk.last_update_login;
953       END IF;
954       IF (x_coverage_rec.attribute3 = TAPI_DEV_KIT.G_MISS_CHAR)
955       THEN
956         x_coverage_rec.attribute3 := l_cc_pk.attribute3;
957       END IF;
958       IF (x_coverage_rec.attribute1 = TAPI_DEV_KIT.G_MISS_CHAR)
959       THEN
960         x_coverage_rec.attribute1 := l_cc_pk.attribute1;
961       END IF;
962       IF (x_coverage_rec.attribute2 = TAPI_DEV_KIT.G_MISS_CHAR)
963       THEN
964         x_coverage_rec.attribute2 := l_cc_pk.attribute2;
965       END IF;
966       IF (x_coverage_rec.attribute4 = TAPI_DEV_KIT.G_MISS_CHAR)
967       THEN
968         x_coverage_rec.attribute4 := l_cc_pk.attribute4;
969       END IF;
970       IF (x_coverage_rec.attribute5 = TAPI_DEV_KIT.G_MISS_CHAR)
971       THEN
972         x_coverage_rec.attribute5 := l_cc_pk.attribute5;
973       END IF;
974       IF (x_coverage_rec.attribute6 = TAPI_DEV_KIT.G_MISS_CHAR)
975       THEN
976         x_coverage_rec.attribute6 := l_cc_pk.attribute6;
977       END IF;
978       IF (x_coverage_rec.attribute7 = TAPI_DEV_KIT.G_MISS_CHAR)
979       THEN
980         x_coverage_rec.attribute7 := l_cc_pk.attribute7;
981       END IF;
982       IF (x_coverage_rec.attribute8 = TAPI_DEV_KIT.G_MISS_CHAR)
983       THEN
984         x_coverage_rec.attribute8 := l_cc_pk.attribute8;
985       END IF;
986       IF (x_coverage_rec.attribute9 = TAPI_DEV_KIT.G_MISS_CHAR)
987       THEN
988         x_coverage_rec.attribute9 := l_cc_pk.attribute9;
989       END IF;
990       IF (x_coverage_rec.attribute10 = TAPI_DEV_KIT.G_MISS_CHAR)
991       THEN
992         x_coverage_rec.attribute10 := l_cc_pk.attribute10;
993       END IF;
994       IF (x_coverage_rec.attribute11 = TAPI_DEV_KIT.G_MISS_CHAR)
995       THEN
996         x_coverage_rec.attribute11 := l_cc_pk.attribute11;
997       END IF;
998       IF (x_coverage_rec.attribute12 = TAPI_DEV_KIT.G_MISS_CHAR)
999       THEN
1000         x_coverage_rec.attribute12 := l_cc_pk.attribute12;
1001       END IF;
1002       IF (x_coverage_rec.attribute13 = TAPI_DEV_KIT.G_MISS_CHAR)
1003       THEN
1004         x_coverage_rec.attribute13 := l_cc_pk.attribute13;
1005       END IF;
1006       IF (x_coverage_rec.attribute14 = TAPI_DEV_KIT.G_MISS_CHAR)
1007       THEN
1008         x_coverage_rec.attribute14 := l_cc_pk.attribute14;
1009       END IF;
1010       IF (x_coverage_rec.attribute15 = TAPI_DEV_KIT.G_MISS_CHAR)
1011       THEN
1012         x_coverage_rec.attribute15 := l_cc_pk.attribute15;
1013       END IF;
1014       IF (x_coverage_rec.context = TAPI_DEV_KIT.G_MISS_CHAR)
1015       THEN
1016         x_coverage_rec.context := l_cc_pk.context;
1017       END IF;
1018       IF (x_coverage_rec.object_version_number = TAPI_DEV_KIT.G_MISS_NUM)
1019       THEN
1020         x_coverage_rec.object_version_number := l_cc_pk.object_version_number;
1021       END IF;
1022       RETURN(l_return_status);
1023     END populate_new_record;
1024   BEGIN
1025     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1026                                               G_PKG_NAME,
1027                                               l_api_version,
1028                                               p_api_version,
1029                                               p_init_msg_list,
1030                                               '_Pvt',
1031                                               x_return_status);
1032     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1033       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1034     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1035       RAISE FND_API.G_EXC_ERROR;
1036     END IF;
1037     migrate(p_coverage_val_rec, l_coverage_rec);
1038     --- Defaulting item attributes
1039     l_return_status := Default_Item_Attributes
1040     (
1041       l_coverage_rec,    ---- IN
1042       l_def_coverage_rec
1043     );
1044     --- If any errors happen abort API
1045     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1046       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1047     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1048       RAISE FND_API.G_EXC_ERROR;
1049     END IF;
1050     l_return_status := populate_new_record(l_def_coverage_rec, l_def_coverage_rec);
1051     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1052       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1053     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1054       RAISE FND_API.G_EXC_ERROR;
1055     END IF;
1056     --- Validate all non-missing attributes (Item Level Validation)
1057     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1058       l_return_status := Validate_Item_Attributes
1059       (
1060         l_def_coverage_rec    ---- IN
1061       );
1062       --- If any errors happen abort API
1063       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1064         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1065       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1066         RAISE FND_API.G_EXC_ERROR;
1067       END IF;
1068     END IF;
1069     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1070       l_return_status := Validate_Item_Record(l_def_coverage_rec);
1071       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1075       END IF;
1072         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1073       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1074         RAISE FND_API.G_EXC_ERROR;
1076     END IF;
1077     UPDATE  CS_COVERAGES
1078     SET
1079         COVERAGE_ID = l_def_coverage_rec.coverage_id ,
1080         COVERAGE_TEMPLATE_ID = l_def_coverage_rec.coverage_template_id ,
1081         NAME = l_def_coverage_rec.name ,
1082         DESCRIPTION = l_def_coverage_rec.description ,
1083         TEMPLATE_FLAG = l_def_coverage_rec.template_flag ,
1084         RENEWAL_TERMS = l_def_coverage_rec.renewal_terms ,
1085         TERMINATION_TERMS = l_def_coverage_rec.termination_terms ,
1086         MAX_SUPPORT_COVERAGE_AMT = l_def_coverage_rec.max_support_coverage_amt ,
1087         EXCEPTION_COVERAGE_ID = l_def_coverage_rec.exception_coverage_id ,
1088         TIME_BILLABLE_PERCENT = l_def_coverage_rec.time_billable_percent ,
1089         MAX_TIME_BILLABLE_AMOUNT = l_def_coverage_rec.max_time_billable_amount ,
1090         MATERIAL_BILLABLE_PERCENT = l_def_coverage_rec.material_billable_percent ,
1091         MAX_MATERIAL_BILLABLE_AMOUNT = l_def_coverage_rec.max_material_billable_amount ,
1092         EXPENSE_BILLABLE_PERCENT = l_def_coverage_rec.expense_billable_percent ,
1093         MAX_EXPENSE_BILLABLE_AMOUNT = l_def_coverage_rec.max_expense_billable_amount ,
1094         MAX_COVERAGE_AMOUNT = l_def_coverage_rec.max_coverage_amount ,
1095         RESPONSE_TIME_PERIOD_CODE = l_def_coverage_rec.response_time_period_code ,
1096         RESPONSE_TIME_VALUE = l_def_coverage_rec.response_time_value ,
1097         SUNDAY_START_TIME = l_def_coverage_rec.sunday_start_time ,
1098         SUNDAY_END_TIME = l_def_coverage_rec.sunday_end_time ,
1099         MONDAY_START_TIME = l_def_coverage_rec.monday_start_time ,
1100         MONDAY_END_TIME = l_def_coverage_rec.monday_end_time ,
1101         START_DATE_ACTIVE = l_def_coverage_rec.start_date_active ,
1102         TUESDAY_START_TIME = l_def_coverage_rec.tuesday_start_time ,
1103         TUESDAY_END_TIME = l_def_coverage_rec.tuesday_end_time ,
1104         END_DATE_ACTIVE = l_def_coverage_rec.end_date_active ,
1105         WEDNESDAY_START_TIME = l_def_coverage_rec.wednesday_start_time ,
1106         WEDNESDAY_END_TIME = l_def_coverage_rec.wednesday_end_time ,
1107         THURSDAY_START_TIME = l_def_coverage_rec.thursday_start_time ,
1108         THURSDAY_END_TIME = l_def_coverage_rec.thursday_end_time ,
1109         FRIDAY_START_TIME = l_def_coverage_rec.friday_start_time ,
1110         FRIDAY_END_TIME = l_def_coverage_rec.friday_end_time ,
1111         SATURDAY_START_TIME = l_def_coverage_rec.saturday_start_time ,
1112         SATURDAY_END_TIME = l_def_coverage_rec.saturday_end_time ,
1113         CREATED_BY = l_def_coverage_rec.created_by ,
1114         CREATION_DATE = l_def_coverage_rec.creation_date ,
1115         LAST_UPDATE_DATE = l_def_coverage_rec.last_update_date ,
1116         LAST_UPDATED_BY = l_def_coverage_rec.last_updated_by ,
1117         LAST_UPDATE_LOGIN = l_def_coverage_rec.last_update_login ,
1118         ATTRIBUTE3 = l_def_coverage_rec.attribute3 ,
1119         ATTRIBUTE1 = l_def_coverage_rec.attribute1 ,
1120         ATTRIBUTE2 = l_def_coverage_rec.attribute2 ,
1121         ATTRIBUTE4 = l_def_coverage_rec.attribute4 ,
1122         ATTRIBUTE5 = l_def_coverage_rec.attribute5 ,
1123         ATTRIBUTE6 = l_def_coverage_rec.attribute6 ,
1124         ATTRIBUTE7 = l_def_coverage_rec.attribute7 ,
1125         ATTRIBUTE8 = l_def_coverage_rec.attribute8 ,
1126         ATTRIBUTE9 = l_def_coverage_rec.attribute9 ,
1127         ATTRIBUTE10 = l_def_coverage_rec.attribute10 ,
1128         ATTRIBUTE11 = l_def_coverage_rec.attribute11 ,
1129         ATTRIBUTE12 = l_def_coverage_rec.attribute12 ,
1130         ATTRIBUTE13 = l_def_coverage_rec.attribute13 ,
1131         ATTRIBUTE14 = l_def_coverage_rec.attribute14 ,
1132         ATTRIBUTE15 = l_def_coverage_rec.attribute15 ,
1133         CONTEXT = l_def_coverage_rec.context ,
1134         OBJECT_VERSION_NUMBER = l_def_coverage_rec.object_version_number
1135         WHERE
1136           COVERAGE_ID = l_def_coverage_rec.coverage_id
1137           ;
1138     x_object_version_number := l_def_coverage_rec.OBJECT_VERSION_NUMBER;
1139     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1140   EXCEPTION
1141     WHEN FND_API.G_EXC_ERROR THEN
1142       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1143       (
1144         l_api_name,
1145         G_PKG_NAME,
1146         'FND_API.G_RET_STS_ERROR',
1147         x_msg_count,
1148         x_msg_data,
1149         '_Pvt'
1150       );
1151     APP_EXCEPTION.RAISE_EXCEPTION;
1152     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1153       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1154       (
1155         l_api_name,
1156         G_PKG_NAME,
1157         'FND_API.G_RET_STS_UNEXP_ERROR',
1158         x_msg_count,
1159         x_msg_data,
1160         '_Pvt'
1161       );
1162     APP_EXCEPTION.RAISE_EXCEPTION;
1163     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1164       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1165       (
1166         l_api_name,
1167         G_PKG_NAME,
1168         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1169         x_msg_count,
1170         x_msg_data,
1171         '_Pvt'
1172       );
1173     APP_EXCEPTION.RAISE_EXCEPTION;
1174   END update_row;
1175   Procedure update_row
1176   (
1177     p_api_version                  IN NUMBER,
1178     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1179     p_validation_level             IN NUMBER,
1180     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1181     x_return_status                OUT VARCHAR2,
1182     x_msg_count                    OUT NUMBER,
1183     x_msg_data                     OUT VARCHAR2,
1184     p_coverage_id                  IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1185     p_coverage_template_id         IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1186     p_name                         IN CS_COVERAGES.NAME%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1190     p_termination_terms            IN CS_COVERAGES.TERMINATION_TERMS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1187     p_description                  IN CS_COVERAGES.DESCRIPTION%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1188     p_template_flag                IN CS_COVERAGES.TEMPLATE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1189     p_renewal_terms                IN CS_COVERAGES.RENEWAL_TERMS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1191     p_max_support_coverage_amt     IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1192     p_exception_coverage_id        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1193     p_time_billable_percent        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1194     p_max_time_billable_amount     IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1195     p_material_billable_percent    IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1196     p_max_material_billable_amount  IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1197     p_expense_billable_percent     IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1198     p_max_expense_billable_amount  IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1199     p_max_coverage_amount          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1200     p_response_time_period_code    IN CS_COVERAGES.RESPONSE_TIME_PERIOD_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1201     p_response_time_value          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1202     p_sunday_start_time            IN CS_COVERAGES.SUNDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1203     p_sunday_end_time              IN CS_COVERAGES.SUNDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1204     p_monday_start_time            IN CS_COVERAGES.MONDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1205     p_monday_end_time              IN CS_COVERAGES.MONDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1206     p_start_date_active            IN CS_COVERAGES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1207     p_tuesday_start_time           IN CS_COVERAGES.TUESDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1208     p_tuesday_end_time             IN CS_COVERAGES.TUESDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1209     p_end_date_active              IN CS_COVERAGES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1210     p_wednesday_start_time         IN CS_COVERAGES.WEDNESDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1211     p_wednesday_end_time           IN CS_COVERAGES.WEDNESDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1212     p_thursday_start_time          IN CS_COVERAGES.THURSDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1213     p_thursday_end_time            IN CS_COVERAGES.THURSDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1214     p_friday_start_time            IN CS_COVERAGES.FRIDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1215     p_friday_end_time              IN CS_COVERAGES.FRIDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1216     p_saturday_start_time          IN CS_COVERAGES.SATURDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1217     p_saturday_end_time            IN CS_COVERAGES.SATURDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1218     p_created_by                   IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1219     p_creation_date                IN CS_COVERAGES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1220     p_last_update_date             IN CS_COVERAGES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1221     p_last_updated_by              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1222     p_last_update_login            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1223     p_attribute3                   IN CS_COVERAGES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1224     p_attribute1                   IN CS_COVERAGES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1225     p_attribute2                   IN CS_COVERAGES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1226     p_attribute4                   IN CS_COVERAGES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1227     p_attribute5                   IN CS_COVERAGES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1228     p_attribute6                   IN CS_COVERAGES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1229     p_attribute7                   IN CS_COVERAGES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1230     p_attribute8                   IN CS_COVERAGES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1231     p_attribute9                   IN CS_COVERAGES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1232     p_attribute10                  IN CS_COVERAGES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1233     p_attribute11                  IN CS_COVERAGES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1234     p_attribute12                  IN CS_COVERAGES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1235     p_attribute13                  IN CS_COVERAGES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1236     p_attribute14                  IN CS_COVERAGES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1237     p_attribute15                  IN CS_COVERAGES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1238     p_context                      IN CS_COVERAGES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1239     p_object_version_number        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1240     x_object_version_number        OUT NUMBER) IS
1241     l_api_name                     CONSTANT VARCHAR2(30) := 'update_row';
1242     l_api_version                  CONSTANT NUMBER := 1;
1243     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1244     l_coverage_rec                 Coverage_Val_Rec_Type;
1245   BEGIN
1246     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1247                                               G_PKG_NAME,
1248                                               l_api_version,
1249                                               p_api_version,
1250                                               p_init_msg_list,
1251                                               '_Pvt',
1252                                               x_return_status);
1253     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1254       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1255     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1256       RAISE FND_API.G_EXC_ERROR;
1257     END IF;
1258     l_coverage_rec.COVERAGE_ID := p_coverage_id;
1259     l_coverage_rec.COVERAGE_TEMPLATE_ID := p_coverage_template_id;
1260     l_coverage_rec.NAME := p_name;
1261     l_coverage_rec.DESCRIPTION := p_description;
1262     l_coverage_rec.TEMPLATE_FLAG := p_template_flag;
1266     l_coverage_rec.EXCEPTION_COVERAGE_ID := p_exception_coverage_id;
1263     l_coverage_rec.RENEWAL_TERMS := p_renewal_terms;
1264     l_coverage_rec.TERMINATION_TERMS := p_termination_terms;
1265     l_coverage_rec.MAX_SUPPORT_COVERAGE_AMT := p_max_support_coverage_amt;
1267     l_coverage_rec.TIME_BILLABLE_PERCENT := p_time_billable_percent;
1268     l_coverage_rec.MAX_TIME_BILLABLE_AMOUNT := p_max_time_billable_amount;
1269     l_coverage_rec.MATERIAL_BILLABLE_PERCENT := p_material_billable_percent;
1270     l_coverage_rec.MAX_MATERIAL_BILLABLE_AMOUNT := p_max_material_billable_amount;
1271     l_coverage_rec.EXPENSE_BILLABLE_PERCENT := p_expense_billable_percent;
1272     l_coverage_rec.MAX_EXPENSE_BILLABLE_AMOUNT := p_max_expense_billable_amount;
1273     l_coverage_rec.MAX_COVERAGE_AMOUNT := p_max_coverage_amount;
1274     l_coverage_rec.RESPONSE_TIME_PERIOD_CODE := p_response_time_period_code;
1275     l_coverage_rec.RESPONSE_TIME_VALUE := p_response_time_value;
1276     l_coverage_rec.SUNDAY_START_TIME := p_sunday_start_time;
1277     l_coverage_rec.SUNDAY_END_TIME := p_sunday_end_time;
1278     l_coverage_rec.MONDAY_START_TIME := p_monday_start_time;
1279     l_coverage_rec.MONDAY_END_TIME := p_monday_end_time;
1280     l_coverage_rec.START_DATE_ACTIVE := p_start_date_active;
1281     l_coverage_rec.TUESDAY_START_TIME := p_tuesday_start_time;
1282     l_coverage_rec.TUESDAY_END_TIME := p_tuesday_end_time;
1283     l_coverage_rec.END_DATE_ACTIVE := p_end_date_active;
1284     l_coverage_rec.WEDNESDAY_START_TIME := p_wednesday_start_time;
1285     l_coverage_rec.WEDNESDAY_END_TIME := p_wednesday_end_time;
1286     l_coverage_rec.THURSDAY_START_TIME := p_thursday_start_time;
1287     l_coverage_rec.THURSDAY_END_TIME := p_thursday_end_time;
1288     l_coverage_rec.FRIDAY_START_TIME := p_friday_start_time;
1289     l_coverage_rec.FRIDAY_END_TIME := p_friday_end_time;
1290     l_coverage_rec.SATURDAY_START_TIME := p_saturday_start_time;
1291     l_coverage_rec.SATURDAY_END_TIME := p_saturday_end_time;
1292     l_coverage_rec.CREATED_BY := p_created_by;
1293     l_coverage_rec.CREATION_DATE := p_creation_date;
1294     l_coverage_rec.LAST_UPDATE_DATE := p_last_update_date;
1295     l_coverage_rec.LAST_UPDATED_BY := p_last_updated_by;
1296     l_coverage_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1297     l_coverage_rec.ATTRIBUTE3 := p_attribute3;
1298     l_coverage_rec.ATTRIBUTE1 := p_attribute1;
1299     l_coverage_rec.ATTRIBUTE2 := p_attribute2;
1300     l_coverage_rec.ATTRIBUTE4 := p_attribute4;
1301     l_coverage_rec.ATTRIBUTE5 := p_attribute5;
1302     l_coverage_rec.ATTRIBUTE6 := p_attribute6;
1303     l_coverage_rec.ATTRIBUTE7 := p_attribute7;
1304     l_coverage_rec.ATTRIBUTE8 := p_attribute8;
1305     l_coverage_rec.ATTRIBUTE9 := p_attribute9;
1306     l_coverage_rec.ATTRIBUTE10 := p_attribute10;
1307     l_coverage_rec.ATTRIBUTE11 := p_attribute11;
1308     l_coverage_rec.ATTRIBUTE12 := p_attribute12;
1309     l_coverage_rec.ATTRIBUTE13 := p_attribute13;
1310     l_coverage_rec.ATTRIBUTE14 := p_attribute14;
1311     l_coverage_rec.ATTRIBUTE15 := p_attribute15;
1312     l_coverage_rec.CONTEXT := p_context;
1313     l_coverage_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1314     update_row(
1315       p_api_version,
1316       p_init_msg_list,
1317       p_validation_level,
1318       p_commit,
1319       x_return_status,
1320       x_msg_count,
1321       x_msg_data,
1322       l_coverage_rec,
1323       x_object_version_number
1324     );
1325     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1326   EXCEPTION
1327     WHEN FND_API.G_EXC_ERROR THEN
1328       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1329       (
1330         l_api_name,
1331         G_PKG_NAME,
1332         'FND_API.G_RET_STS_ERROR',
1333         x_msg_count,
1334         x_msg_data,
1335         '_Pvt'
1336       );
1337     APP_EXCEPTION.RAISE_EXCEPTION;
1338     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1339       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1340       (
1341         l_api_name,
1342         G_PKG_NAME,
1343         'FND_API.G_RET_STS_UNEXP_ERROR',
1344         x_msg_count,
1345         x_msg_data,
1346         '_Pvt'
1347       );
1348     APP_EXCEPTION.RAISE_EXCEPTION;
1349     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1350       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1351       (
1352         l_api_name,
1353         G_PKG_NAME,
1354         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1355         x_msg_count,
1356         x_msg_data,
1357         '_Pvt'
1358       );
1359     APP_EXCEPTION.RAISE_EXCEPTION;
1360   END update_row;
1361   Procedure delete_row
1362   (
1363     p_api_version                  IN NUMBER,
1364     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1365     p_validation_level             IN NUMBER,
1366     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1367     x_return_status                OUT VARCHAR2,
1368     x_msg_count                    OUT NUMBER,
1369     x_msg_data                     OUT VARCHAR2,
1370     p_coverage_id                  IN NUMBER) IS
1371     l_api_name                     CONSTANT VARCHAR2(30) := 'delete_row';
1372     l_api_version                  CONSTANT NUMBER := 1;
1373     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1374   BEGIN
1375     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1376                                               G_PKG_NAME,
1377                                               l_api_version,
1378                                               p_api_version,
1379                                               p_init_msg_list,
1380                                               '_Pvt',
1381                                               x_return_status);
1382     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1383       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1384     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1388     WHERE
1385       RAISE FND_API.G_EXC_ERROR;
1386     END IF;
1387     DELETE  FROM CS_COVERAGES
1389       COVERAGE_ID = p_coverage_id
1390       ;
1391     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1392   EXCEPTION
1393     WHEN FND_API.G_EXC_ERROR THEN
1394       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1395       (
1396         l_api_name,
1397         G_PKG_NAME,
1398         'FND_API.G_RET_STS_ERROR',
1399         x_msg_count,
1400         x_msg_data,
1401         '_Pvt'
1402       );
1403     APP_EXCEPTION.RAISE_EXCEPTION;
1404     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1405       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1406       (
1407         l_api_name,
1408         G_PKG_NAME,
1409         'FND_API.G_RET_STS_UNEXP_ERROR',
1410         x_msg_count,
1411         x_msg_data,
1412         '_Pvt'
1413       );
1414     APP_EXCEPTION.RAISE_EXCEPTION;
1415     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1416       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1417       (
1418         l_api_name,
1419         G_PKG_NAME,
1420         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1421         x_msg_count,
1422         x_msg_data,
1423         '_Pvt'
1424       );
1425     APP_EXCEPTION.RAISE_EXCEPTION;
1426   END delete_row;
1427   PROCEDURE validate_row
1428   (
1429     p_api_version                  IN NUMBER,
1430     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1431     p_validation_level             IN NUMBER,
1432     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1433     x_return_status                OUT VARCHAR2,
1434     x_msg_count                    OUT NUMBER,
1435     x_msg_data                     OUT VARCHAR2,
1436     p_coverage_val_rec             IN Coverage_Val_Rec_Type := G_MISS_COVERAGE_VAL_REC) IS
1437     l_api_name                     CONSTANT VARCHAR2(30) := 'validate_row';
1438     l_api_version                  CONSTANT NUMBER := 1;
1439     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1440     l_coverage_rec                 Coverage_Rec_Type;
1441     l_def_coverage_rec             Coverage_Rec_Type;
1442   BEGIN
1443     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1444                                               G_PKG_NAME,
1445                                               l_api_version,
1446                                               p_api_version,
1447                                               p_init_msg_list,
1448                                               '_Pvt',
1449                                               x_return_status);
1450     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1451       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1452     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1453       RAISE FND_API.G_EXC_ERROR;
1454     END IF;
1455     migrate(p_coverage_val_rec, l_coverage_rec);
1456     --- Validate all non-missing attributes (Item Level Validation)
1457     IF p_validation_level >= FND_API.G_VALID_LEVEL_FULL THEN
1458       l_return_status := Validate_Item_Attributes
1459       (
1460         l_coverage_rec    ---- IN
1461       );
1462       --- If any errors happen abort API
1463       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1464         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1465       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1466         RAISE FND_API.G_EXC_ERROR;
1467       END IF;
1468     END IF;
1469     IF (p_validation_level >= FND_API.G_VALID_LEVEL_FULL) THEN
1470       l_return_status := Validate_Item_Record(l_def_coverage_rec);
1471       IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1472         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1473       ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1474         RAISE FND_API.G_EXC_ERROR;
1475       END IF;
1476     END IF;
1477     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1478   EXCEPTION
1479     WHEN FND_API.G_EXC_ERROR THEN
1480       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1481       (
1482         l_api_name,
1483         G_PKG_NAME,
1484         'FND_API.G_RET_STS_ERROR',
1485         x_msg_count,
1486         x_msg_data,
1487         '_Pvt'
1488       );
1489     APP_EXCEPTION.RAISE_EXCEPTION;
1490     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1491       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1492       (
1493         l_api_name,
1494         G_PKG_NAME,
1495         'FND_API.G_RET_STS_UNEXP_ERROR',
1496         x_msg_count,
1497         x_msg_data,
1498         '_Pvt'
1499       );
1500     APP_EXCEPTION.RAISE_EXCEPTION;
1501     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1502       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1503       (
1504         l_api_name,
1505         G_PKG_NAME,
1506         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1507         x_msg_count,
1508         x_msg_data,
1509         '_Pvt'
1510       );
1511     APP_EXCEPTION.RAISE_EXCEPTION;
1512   END validate_row;
1513   PROCEDURE validate_row
1514   (
1515     p_api_version                  IN NUMBER,
1516     p_init_msg_list                IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1517     p_validation_level             IN NUMBER,
1518     p_commit                       IN VARCHAR2 := TAPI_DEV_KIT.G_FALSE,
1519     x_return_status                OUT VARCHAR2,
1520     x_msg_count                    OUT NUMBER,
1521     x_msg_data                     OUT VARCHAR2,
1522     p_coverage_id                  IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1523     p_coverage_template_id         IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1524     p_name                         IN CS_COVERAGES.NAME%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1525     p_description                  IN CS_COVERAGES.DESCRIPTION%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1529     p_max_support_coverage_amt     IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1526     p_template_flag                IN CS_COVERAGES.TEMPLATE_FLAG%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1527     p_renewal_terms                IN CS_COVERAGES.RENEWAL_TERMS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1528     p_termination_terms            IN CS_COVERAGES.TERMINATION_TERMS%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1530     p_exception_coverage_id        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1531     p_time_billable_percent        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1532     p_max_time_billable_amount     IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1533     p_material_billable_percent    IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1534     p_max_material_billable_amount  IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1535     p_expense_billable_percent     IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1536     p_max_expense_billable_amount  IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1537     p_max_coverage_amount          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1538     p_response_time_period_code    IN CS_COVERAGES.RESPONSE_TIME_PERIOD_CODE%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1539     p_response_time_value          IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1540     p_sunday_start_time            IN CS_COVERAGES.SUNDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1541     p_sunday_end_time              IN CS_COVERAGES.SUNDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1542     p_monday_start_time            IN CS_COVERAGES.MONDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1543     p_monday_end_time              IN CS_COVERAGES.MONDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1544     p_start_date_active            IN CS_COVERAGES.START_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1545     p_tuesday_start_time           IN CS_COVERAGES.TUESDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1546     p_tuesday_end_time             IN CS_COVERAGES.TUESDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1547     p_end_date_active              IN CS_COVERAGES.END_DATE_ACTIVE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1548     p_wednesday_start_time         IN CS_COVERAGES.WEDNESDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1549     p_wednesday_end_time           IN CS_COVERAGES.WEDNESDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1550     p_thursday_start_time          IN CS_COVERAGES.THURSDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1551     p_thursday_end_time            IN CS_COVERAGES.THURSDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1552     p_friday_start_time            IN CS_COVERAGES.FRIDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1553     p_friday_end_time              IN CS_COVERAGES.FRIDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1554     p_saturday_start_time          IN CS_COVERAGES.SATURDAY_START_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1555     p_saturday_end_time            IN CS_COVERAGES.SATURDAY_END_TIME%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1556     p_created_by                   IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1557     p_creation_date                IN CS_COVERAGES.CREATION_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1558     p_last_update_date             IN CS_COVERAGES.LAST_UPDATE_DATE%TYPE := TAPI_DEV_KIT.G_MISS_DATE,
1559     p_last_updated_by              IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1560     p_last_update_login            IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM,
1561     p_attribute3                   IN CS_COVERAGES.ATTRIBUTE3%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1562     p_attribute1                   IN CS_COVERAGES.ATTRIBUTE1%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1563     p_attribute2                   IN CS_COVERAGES.ATTRIBUTE2%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1564     p_attribute4                   IN CS_COVERAGES.ATTRIBUTE4%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1565     p_attribute5                   IN CS_COVERAGES.ATTRIBUTE5%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1566     p_attribute6                   IN CS_COVERAGES.ATTRIBUTE6%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1567     p_attribute7                   IN CS_COVERAGES.ATTRIBUTE7%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1568     p_attribute8                   IN CS_COVERAGES.ATTRIBUTE8%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1569     p_attribute9                   IN CS_COVERAGES.ATTRIBUTE9%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1570     p_attribute10                  IN CS_COVERAGES.ATTRIBUTE10%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1571     p_attribute11                  IN CS_COVERAGES.ATTRIBUTE11%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1572     p_attribute12                  IN CS_COVERAGES.ATTRIBUTE12%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1573     p_attribute13                  IN CS_COVERAGES.ATTRIBUTE13%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1574     p_attribute14                  IN CS_COVERAGES.ATTRIBUTE14%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1575     p_attribute15                  IN CS_COVERAGES.ATTRIBUTE15%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1576     p_context                      IN CS_COVERAGES.CONTEXT%TYPE := TAPI_DEV_KIT.G_MISS_CHAR,
1577     p_object_version_number        IN NUMBER := TAPI_DEV_KIT.G_MISS_NUM) IS
1578     l_api_name                     CONSTANT VARCHAR2(30) := 'validate_row';
1579     l_api_version                  CONSTANT NUMBER := 1;
1580     l_return_status                VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1581     l_coverage_rec                 Coverage_Val_Rec_Type;
1582   BEGIN
1583     l_return_status := TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
1584                                               G_PKG_NAME,
1585                                               l_api_version,
1586                                               p_api_version,
1587                                               p_init_msg_list,
1588                                               '_Pvt',
1589                                               x_return_status);
1590     IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1591       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1592     ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1593       RAISE FND_API.G_EXC_ERROR;
1594     END IF;
1595     l_coverage_rec.COVERAGE_ID := p_coverage_id;
1596     l_coverage_rec.COVERAGE_TEMPLATE_ID := p_coverage_template_id;
1597     l_coverage_rec.NAME := p_name;
1598     l_coverage_rec.DESCRIPTION := p_description;
1599     l_coverage_rec.TEMPLATE_FLAG := p_template_flag;
1600     l_coverage_rec.RENEWAL_TERMS := p_renewal_terms;
1601     l_coverage_rec.TERMINATION_TERMS := p_termination_terms;
1605     l_coverage_rec.MAX_TIME_BILLABLE_AMOUNT := p_max_time_billable_amount;
1602     l_coverage_rec.MAX_SUPPORT_COVERAGE_AMT := p_max_support_coverage_amt;
1603     l_coverage_rec.EXCEPTION_COVERAGE_ID := p_exception_coverage_id;
1604     l_coverage_rec.TIME_BILLABLE_PERCENT := p_time_billable_percent;
1606     l_coverage_rec.MATERIAL_BILLABLE_PERCENT := p_material_billable_percent;
1607     l_coverage_rec.MAX_MATERIAL_BILLABLE_AMOUNT := p_max_material_billable_amount;
1608     l_coverage_rec.EXPENSE_BILLABLE_PERCENT := p_expense_billable_percent;
1609     l_coverage_rec.MAX_EXPENSE_BILLABLE_AMOUNT := p_max_expense_billable_amount;
1610     l_coverage_rec.MAX_COVERAGE_AMOUNT := p_max_coverage_amount;
1611     l_coverage_rec.RESPONSE_TIME_PERIOD_CODE := p_response_time_period_code;
1612     l_coverage_rec.RESPONSE_TIME_VALUE := p_response_time_value;
1613     l_coverage_rec.SUNDAY_START_TIME := p_sunday_start_time;
1614     l_coverage_rec.SUNDAY_END_TIME := p_sunday_end_time;
1615     l_coverage_rec.MONDAY_START_TIME := p_monday_start_time;
1616     l_coverage_rec.MONDAY_END_TIME := p_monday_end_time;
1617     l_coverage_rec.START_DATE_ACTIVE := p_start_date_active;
1618     l_coverage_rec.TUESDAY_START_TIME := p_tuesday_start_time;
1619     l_coverage_rec.TUESDAY_END_TIME := p_tuesday_end_time;
1620     l_coverage_rec.END_DATE_ACTIVE := p_end_date_active;
1621     l_coverage_rec.WEDNESDAY_START_TIME := p_wednesday_start_time;
1622     l_coverage_rec.WEDNESDAY_END_TIME := p_wednesday_end_time;
1623     l_coverage_rec.THURSDAY_START_TIME := p_thursday_start_time;
1624     l_coverage_rec.THURSDAY_END_TIME := p_thursday_end_time;
1625     l_coverage_rec.FRIDAY_START_TIME := p_friday_start_time;
1626     l_coverage_rec.FRIDAY_END_TIME := p_friday_end_time;
1627     l_coverage_rec.SATURDAY_START_TIME := p_saturday_start_time;
1628     l_coverage_rec.SATURDAY_END_TIME := p_saturday_end_time;
1629     l_coverage_rec.CREATED_BY := p_created_by;
1630     l_coverage_rec.CREATION_DATE := p_creation_date;
1631     l_coverage_rec.LAST_UPDATE_DATE := p_last_update_date;
1632     l_coverage_rec.LAST_UPDATED_BY := p_last_updated_by;
1633     l_coverage_rec.LAST_UPDATE_LOGIN := p_last_update_login;
1634     l_coverage_rec.ATTRIBUTE3 := p_attribute3;
1635     l_coverage_rec.ATTRIBUTE1 := p_attribute1;
1636     l_coverage_rec.ATTRIBUTE2 := p_attribute2;
1637     l_coverage_rec.ATTRIBUTE4 := p_attribute4;
1638     l_coverage_rec.ATTRIBUTE5 := p_attribute5;
1639     l_coverage_rec.ATTRIBUTE6 := p_attribute6;
1640     l_coverage_rec.ATTRIBUTE7 := p_attribute7;
1641     l_coverage_rec.ATTRIBUTE8 := p_attribute8;
1642     l_coverage_rec.ATTRIBUTE9 := p_attribute9;
1643     l_coverage_rec.ATTRIBUTE10 := p_attribute10;
1644     l_coverage_rec.ATTRIBUTE11 := p_attribute11;
1645     l_coverage_rec.ATTRIBUTE12 := p_attribute12;
1646     l_coverage_rec.ATTRIBUTE13 := p_attribute13;
1647     l_coverage_rec.ATTRIBUTE14 := p_attribute14;
1648     l_coverage_rec.ATTRIBUTE15 := p_attribute15;
1649     l_coverage_rec.CONTEXT := p_context;
1650     l_coverage_rec.OBJECT_VERSION_NUMBER := p_object_version_number;
1651     validate_row(
1652       p_api_version,
1653       p_init_msg_list,
1654       p_validation_level,
1655       p_commit,
1656       x_return_status,
1657       x_msg_count,
1658       x_msg_data,
1659       l_coverage_rec
1660     );
1661     TAPI_DEV_KIT.END_ACTIVITY(p_commit, x_msg_count, x_msg_data);
1662   EXCEPTION
1663     WHEN FND_API.G_EXC_ERROR THEN
1664       x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1665       (
1666         l_api_name,
1667         G_PKG_NAME,
1668         'FND_API.G_RET_STS_ERROR',
1669         x_msg_count,
1670         x_msg_data,
1671         '_Pvt'
1672       );
1673     APP_EXCEPTION.RAISE_EXCEPTION;
1674     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1675       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1676       (
1677         l_api_name,
1678         G_PKG_NAME,
1679         'FND_API.G_RET_STS_UNEXP_ERROR',
1680         x_msg_count,
1681         x_msg_data,
1682         '_Pvt'
1683       );
1684     APP_EXCEPTION.RAISE_EXCEPTION;
1685     WHEN TAPI_DEV_KIT.G_EXC_DUP_VAL_ON_INDEX THEN
1686       x_return_status :=TAPI_DEV_KIT.HANDLE_EXCEPTIONS
1687       (
1688         l_api_name,
1689         G_PKG_NAME,
1690         'TAPI_DEV_KIT.G_RET_STS_DUP_VAL_ON_INDEX',
1691         x_msg_count,
1692         x_msg_data,
1693         '_Pvt'
1694       );
1695     APP_EXCEPTION.RAISE_EXCEPTION;
1696   END validate_row;
1697 END CS_COVERAGE_PVT;