DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_TXNGRP_PVT

Source


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