DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_CYL_PVT

Source


1 PACKAGE BODY OKC_CYL_PVT AS
2 /* $Header: OKCSCYLB.pls 120.0 2005/05/30 04:12:56 appldev noship $ */
3 
4 	l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5   ---------------------------------------------------------------------------
6   -- FUNCTION get_seq_id
7   ---------------------------------------------------------------------------
8   FUNCTION get_seq_id RETURN NUMBER IS
9   BEGIN
10     RETURN(okc_p_util.raw_to_number(sys_guid()));
11   END get_seq_id;
12 
13   ---------------------------------------------------------------------------
14   -- PROCEDURE qc
15   ---------------------------------------------------------------------------
16   PROCEDURE qc IS
17   BEGIN
18     null;
19   END qc;
20 
21   ---------------------------------------------------------------------------
22   -- PROCEDURE change_version
23   ---------------------------------------------------------------------------
24   PROCEDURE change_version IS
25   BEGIN
26     null;
27   END change_version;
28 
29   ---------------------------------------------------------------------------
30   -- PROCEDURE api_copy
31   ---------------------------------------------------------------------------
32   PROCEDURE api_copy IS
33   BEGIN
34     null;
35   END api_copy;
36 
37   ---------------------------------------------------------------------------
38   -- FUNCTION get_rec for: OKC_TIMEVALUES_B
39   ---------------------------------------------------------------------------
40   FUNCTION get_rec (
41     p_tve_rec                      IN tve_rec_type,
42     x_no_data_found                OUT NOCOPY BOOLEAN
43   ) RETURN tve_rec_type IS
44     CURSOR tve_pk_csr (p_id                 IN NUMBER) IS
45     SELECT
46             ID,
47             SPN_ID,
48             TVE_ID_OFFSET,
49             uom_code,
50             CNH_ID,
51             TVE_ID_GENERATED_BY,
52             TVE_ID_STARTED,
53             TVE_ID_ENDED,
54             TVE_ID_LIMITED,
55             DNZ_CHR_ID,
56             TZE_ID,
57             TVE_TYPE,
58             OBJECT_VERSION_NUMBER,
59             CREATED_BY,
60             CREATION_DATE,
61             LAST_UPDATED_BY,
62             LAST_UPDATE_DATE,
63             DURATION,
64             OPERATOR,
65             BEFORE_AFTER,
66             DATETIME,
67             MONTH,
68             DAY,
69             HOUR,
70             MINUTE,
71             SECOND,
72             NTH,
73             DAY_OF_WEEK,
74             INTERVAL_YN,
75             LAST_UPDATE_LOGIN,
76             ATTRIBUTE_CATEGORY,
77             ATTRIBUTE1,
78             ATTRIBUTE2,
79             ATTRIBUTE3,
80             ATTRIBUTE4,
81             ATTRIBUTE5,
82             ATTRIBUTE6,
83             ATTRIBUTE7,
84             ATTRIBUTE8,
85             ATTRIBUTE9,
86             ATTRIBUTE10,
87             ATTRIBUTE11,
88             ATTRIBUTE12,
89             ATTRIBUTE13,
90             ATTRIBUTE14,
91             ATTRIBUTE15,
92 --Bug 3122962
93             name,
94             description,
95             short_description,
96             comments
97       FROM Okc_Timevalues
98      WHERE okc_timevalues.id  = p_id;
99     l_tve_pk                       tve_pk_csr%ROWTYPE;
100     l_tve_rec                      tve_rec_type;
101   BEGIN
102     x_no_data_found := TRUE;
103     -- Get current database values
104     OPEN tve_pk_csr (p_tve_rec.id);
105     FETCH tve_pk_csr INTO
106               l_tve_rec.ID,
107               l_tve_rec.SPN_ID,
108               l_tve_rec.TVE_ID_OFFSET,
109               l_tve_rec.uom_code,
110               l_tve_rec.CNH_ID,
111               l_tve_rec.TVE_ID_GENERATED_BY,
112               l_tve_rec.TVE_ID_STARTED,
113               l_tve_rec.TVE_ID_ENDED,
114               l_tve_rec.TVE_ID_LIMITED,
115               l_tve_rec.DNZ_CHR_ID,
116               l_tve_rec.TZE_ID,
117               l_tve_rec.TVE_TYPE,
118               l_tve_rec.OBJECT_VERSION_NUMBER,
119               l_tve_rec.CREATED_BY,
120               l_tve_rec.CREATION_DATE,
121               l_tve_rec.LAST_UPDATED_BY,
122               l_tve_rec.LAST_UPDATE_DATE,
123               l_tve_rec.DURATION,
124               l_tve_rec.OPERATOR,
125               l_tve_rec.BEFORE_AFTER,
126               l_tve_rec.DATETIME,
127               l_tve_rec.MONTH,
128               l_tve_rec.DAY,
129               l_tve_rec.HOUR,
130               l_tve_rec.MINUTE,
131               l_tve_rec.SECOND,
132               l_tve_rec.NTH,
133               l_tve_rec.DAY_OF_WEEK,
134               l_tve_rec.INTERVAL_YN,
135               l_tve_rec.LAST_UPDATE_LOGIN,
136               l_tve_rec.ATTRIBUTE_CATEGORY,
137 --Bug 3122962
138               l_tve_rec.name,
139               l_tve_rec.description,
140               l_tve_rec.short_description,
141               l_tve_rec.comments,
142 
143               l_tve_rec.ATTRIBUTE1,
144               l_tve_rec.ATTRIBUTE2,
145               l_tve_rec.ATTRIBUTE3,
146               l_tve_rec.ATTRIBUTE4,
147               l_tve_rec.ATTRIBUTE5,
148               l_tve_rec.ATTRIBUTE6,
149               l_tve_rec.ATTRIBUTE7,
150               l_tve_rec.ATTRIBUTE8,
151               l_tve_rec.ATTRIBUTE9,
152               l_tve_rec.ATTRIBUTE10,
153               l_tve_rec.ATTRIBUTE11,
154               l_tve_rec.ATTRIBUTE12,
155               l_tve_rec.ATTRIBUTE13,
156               l_tve_rec.ATTRIBUTE14,
157               l_tve_rec.ATTRIBUTE15;
158     x_no_data_found := tve_pk_csr%NOTFOUND;
159     CLOSE tve_pk_csr;
160     RETURN(l_tve_rec);
161   END get_rec;
162 
163   FUNCTION get_rec (
164     p_tve_rec                      IN tve_rec_type
165   ) RETURN tve_rec_type IS
166     l_row_notfound                 BOOLEAN := TRUE;
167   BEGIN
168     RETURN(get_rec(p_tve_rec, l_row_notfound));
169   END get_rec;
170   ---------------------------------------------------------------------------
171   -- FUNCTION get_rec for: OKC_TIMEVALUES_TL
172   ---------------------------------------------------------------------------
173 --Bug 3122962
174 /*
175   FUNCTION get_rec (
176     p_okc_timevalues_tl_rec        IN okc_timevalues_tl_rec_type,
177     x_no_data_found                OUT NOCOPY BOOLEAN
178   ) RETURN okc_timevalues_tl_rec_type IS
179     CURSOR tve_pktl_csr (p_id                 IN NUMBER,
180                          p_language           IN VARCHAR2) IS
181     SELECT
182             ID,
183             LANGUAGE,
184             SOURCE_LANG,
185             SFWT_FLAG,
186             DESCRIPTION,
187             SHORT_DESCRIPTION,
188             COMMENTS,
189             NAME,
190             CREATED_BY,
191             CREATION_DATE,
192             LAST_UPDATED_BY,
193             LAST_UPDATE_DATE,
194             LAST_UPDATE_LOGIN
195       FROM Okc_Timevalues_Tl
196      WHERE okc_timevalues_tl.id = p_id
197        AND okc_timevalues_tl.language = p_language;
198     l_tve_pktl                     tve_pktl_csr%ROWTYPE;
199     l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
200   BEGIN
201     x_no_data_found := TRUE;
202     -- Get current database values
203     OPEN tve_pktl_csr (p_okc_timevalues_tl_rec.id,
204                        p_okc_timevalues_tl_rec.language);
205     FETCH tve_pktl_csr INTO
206               l_okc_timevalues_tl_rec.ID,
207               l_okc_timevalues_tl_rec.LANGUAGE,
208               l_okc_timevalues_tl_rec.SOURCE_LANG,
209               l_okc_timevalues_tl_rec.SFWT_FLAG,
210               l_okc_timevalues_tl_rec.DESCRIPTION,
211               l_okc_timevalues_tl_rec.SHORT_DESCRIPTION,
212               l_okc_timevalues_tl_rec.COMMENTS,
213               l_okc_timevalues_tl_rec.NAME,
214               l_okc_timevalues_tl_rec.CREATED_BY,
215               l_okc_timevalues_tl_rec.CREATION_DATE,
216               l_okc_timevalues_tl_rec.LAST_UPDATED_BY,
217               l_okc_timevalues_tl_rec.LAST_UPDATE_DATE,
218               l_okc_timevalues_tl_rec.LAST_UPDATE_LOGIN;
219     x_no_data_found := tve_pktl_csr%NOTFOUND;
220     CLOSE tve_pktl_csr;
221     RETURN(l_okc_timevalues_tl_rec);
222   END get_rec;
223 
224   FUNCTION get_rec (
225     p_okc_timevalues_tl_rec        IN okc_timevalues_tl_rec_type
226   ) RETURN okc_timevalues_tl_rec_type IS
227     l_row_notfound                 BOOLEAN := TRUE;
228   BEGIN
229     RETURN(get_rec(p_okc_timevalues_tl_rec, l_row_notfound));
230   END get_rec;
231 */
232   ---------------------------------------------------------------------------
233   -- FUNCTION get_rec for: OKC_TIME_CYCLE_V
234   ---------------------------------------------------------------------------
235   FUNCTION get_rec (
236     p_cylv_rec                     IN cylv_rec_type,
237     x_no_data_found                OUT NOCOPY BOOLEAN
238   ) RETURN cylv_rec_type IS
239     CURSOR okc_cylv_pk_csr (p_id                 IN NUMBER) IS
240     SELECT
241             ID,
242             OBJECT_VERSION_NUMBER,
243 --Bug 3122962            SFWT_FLAG,
244             SPN_ID,
245             TVE_ID_LIMITED,
246             DNZ_CHR_ID,
247             TZE_ID,
248             DESCRIPTION,
249             SHORT_DESCRIPTION,
250             COMMENTS,
251             NAME,
252             INTERVAL_YN,
253             ATTRIBUTE_CATEGORY,
254             ATTRIBUTE1,
255             ATTRIBUTE2,
256             ATTRIBUTE3,
257             ATTRIBUTE4,
258             ATTRIBUTE5,
259             ATTRIBUTE6,
260             ATTRIBUTE7,
261             ATTRIBUTE8,
262             ATTRIBUTE9,
263             ATTRIBUTE10,
264             ATTRIBUTE11,
265             ATTRIBUTE12,
266             ATTRIBUTE13,
267             ATTRIBUTE14,
268             ATTRIBUTE15,
269             CREATED_BY,
270             CREATION_DATE,
271             LAST_UPDATED_BY,
272             LAST_UPDATE_DATE,
273             LAST_UPDATE_LOGIN
274       FROM Okc_Time_Cycle_V
275      WHERE okc_time_cycle_v.id  = p_id;
276     l_okc_cylv_pk                  okc_cylv_pk_csr%ROWTYPE;
277     l_cylv_rec                     cylv_rec_type;
278   BEGIN
279     x_no_data_found := TRUE;
280     -- Get current database values
281     OPEN okc_cylv_pk_csr (p_cylv_rec.id);
282     FETCH okc_cylv_pk_csr INTO
283               l_cylv_rec.ID,
284               l_cylv_rec.OBJECT_VERSION_NUMBER,
285 --Bug 3122962              l_cylv_rec.SFWT_FLAG,
286               l_cylv_rec.SPN_ID,
287               l_cylv_rec.TVE_ID_LIMITED,
288               l_cylv_rec.DNZ_CHR_ID,
289               l_cylv_rec.TZE_ID,
290               l_cylv_rec.DESCRIPTION,
291               l_cylv_rec.SHORT_DESCRIPTION,
292               l_cylv_rec.COMMENTS,
293               l_cylv_rec.NAME,
294               l_cylv_rec.INTERVAL_YN,
295               l_cylv_rec.ATTRIBUTE_CATEGORY,
296               l_cylv_rec.ATTRIBUTE1,
297               l_cylv_rec.ATTRIBUTE2,
298               l_cylv_rec.ATTRIBUTE3,
299               l_cylv_rec.ATTRIBUTE4,
300               l_cylv_rec.ATTRIBUTE5,
301               l_cylv_rec.ATTRIBUTE6,
302               l_cylv_rec.ATTRIBUTE7,
303               l_cylv_rec.ATTRIBUTE8,
304               l_cylv_rec.ATTRIBUTE9,
305               l_cylv_rec.ATTRIBUTE10,
306               l_cylv_rec.ATTRIBUTE11,
307               l_cylv_rec.ATTRIBUTE12,
308               l_cylv_rec.ATTRIBUTE13,
309               l_cylv_rec.ATTRIBUTE14,
310               l_cylv_rec.ATTRIBUTE15,
311               l_cylv_rec.CREATED_BY,
312               l_cylv_rec.CREATION_DATE,
313               l_cylv_rec.LAST_UPDATED_BY,
314               l_cylv_rec.LAST_UPDATE_DATE,
315               l_cylv_rec.LAST_UPDATE_LOGIN;
316     x_no_data_found := okc_cylv_pk_csr%NOTFOUND;
317     CLOSE okc_cylv_pk_csr;
318     RETURN(l_cylv_rec);
319   END get_rec;
320 
321   FUNCTION get_rec (
322     p_cylv_rec                     IN cylv_rec_type
323   ) RETURN cylv_rec_type IS
324     l_row_notfound                 BOOLEAN := TRUE;
325   BEGIN
326     RETURN(get_rec(p_cylv_rec, l_row_notfound));
327   END get_rec;
328 
329   ------------------------------------------------------
330   -- FUNCTION null_out_defaults for: OKC_TIME_CYCLE_V --
331   ------------------------------------------------------
332   FUNCTION null_out_defaults (
333     p_cylv_rec	IN cylv_rec_type
334   ) RETURN cylv_rec_type IS
335     l_cylv_rec	cylv_rec_type := p_cylv_rec;
336   BEGIN
337     IF (l_cylv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
338       l_cylv_rec.object_version_number := NULL;
339     END IF;
340 /*
341     IF (l_cylv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
342       l_cylv_rec.sfwt_flag := NULL;
343     END IF;
344 */
345     IF (l_cylv_rec.spn_id = OKC_API.G_MISS_NUM) THEN
346       l_cylv_rec.spn_id := NULL;
347     END IF;
348     IF (l_cylv_rec.tve_id_limited = OKC_API.G_MISS_NUM) THEN
349       l_cylv_rec.tve_id_limited := NULL;
350     END IF;
351     IF (l_cylv_rec.dnz_chr_id = OKC_API.G_MISS_NUM) THEN
352       l_cylv_rec.dnz_chr_id := NULL;
353     END IF;
354     IF (l_cylv_rec.tze_id = OKC_API.G_MISS_NUM) THEN
355       l_cylv_rec.tze_id := NULL;
356     END IF;
357     IF (l_cylv_rec.description = OKC_API.G_MISS_CHAR) THEN
358       l_cylv_rec.description := NULL;
359     END IF;
360     IF (l_cylv_rec.short_description = OKC_API.G_MISS_CHAR) THEN
361       l_cylv_rec.short_description := NULL;
362     END IF;
363     IF (l_cylv_rec.comments = OKC_API.G_MISS_CHAR) THEN
364       l_cylv_rec.comments := NULL;
365     END IF;
366     IF (l_cylv_rec.name = OKC_API.G_MISS_CHAR) THEN
367       l_cylv_rec.name := NULL;
368     END IF;
369     IF (l_cylv_rec.interval_yn = OKC_API.G_MISS_CHAR) THEN
370       l_cylv_rec.interval_yn := NULL;
371     END IF;
372     IF (l_cylv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
373       l_cylv_rec.attribute_category := NULL;
374     END IF;
375     IF (l_cylv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
376       l_cylv_rec.attribute1 := NULL;
377     END IF;
378     IF (l_cylv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
379       l_cylv_rec.attribute2 := NULL;
380     END IF;
381     IF (l_cylv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
382       l_cylv_rec.attribute3 := NULL;
383     END IF;
384     IF (l_cylv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
385       l_cylv_rec.attribute4 := NULL;
386     END IF;
387     IF (l_cylv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
388       l_cylv_rec.attribute5 := NULL;
389     END IF;
390     IF (l_cylv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
391       l_cylv_rec.attribute6 := NULL;
392     END IF;
393     IF (l_cylv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
394       l_cylv_rec.attribute7 := NULL;
395     END IF;
396     IF (l_cylv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
397       l_cylv_rec.attribute8 := NULL;
398     END IF;
399     IF (l_cylv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
400       l_cylv_rec.attribute9 := NULL;
401     END IF;
402     IF (l_cylv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
403       l_cylv_rec.attribute10 := NULL;
404     END IF;
405     IF (l_cylv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
406       l_cylv_rec.attribute11 := NULL;
407     END IF;
408     IF (l_cylv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
409       l_cylv_rec.attribute12 := NULL;
410     END IF;
411     IF (l_cylv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
412       l_cylv_rec.attribute13 := NULL;
413     END IF;
414     IF (l_cylv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
415       l_cylv_rec.attribute14 := NULL;
419     END IF;
416     END IF;
417     IF (l_cylv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
418       l_cylv_rec.attribute15 := NULL;
420     IF (l_cylv_rec.created_by = OKC_API.G_MISS_NUM) THEN
421       l_cylv_rec.created_by := NULL;
422     END IF;
423     IF (l_cylv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
424       l_cylv_rec.creation_date := NULL;
425     END IF;
426     IF (l_cylv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
427       l_cylv_rec.last_updated_by := NULL;
428     END IF;
429     IF (l_cylv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
430       l_cylv_rec.last_update_date := NULL;
431     END IF;
432     IF (l_cylv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
433       l_cylv_rec.last_update_login := NULL;
434     END IF;
435     RETURN(l_cylv_rec);
436   END null_out_defaults;
437 
438   --**** Change from TAPI Code---follow till end of change---------------
439   ------------------------------------------------------
440   -- FUNCTION null_out_defaults for: OKC_TIMEVALUES_V --
441   ------------------------------------------------------
442   -- 1. Added null_out_defaults to overcome number initialization
443   -- problem while populating optional columns for supertypes from a subtype
444   -- 2. Moved all column validations (including FK) to Validate_column
445   -- and is called from Validate_Attributes
446   -- 3. Validate_Records will have tuple rule checks.
447 
448   FUNCTION null_out_defaults (
449     p_tve_rec	IN tve_rec_type
450   ) RETURN tve_rec_type IS
451     l_tve_rec	tve_rec_type := p_tve_rec;
452   BEGIN
453     IF (l_tve_rec.cnh_id = OKC_API.G_MISS_NUM) THEN
454       l_tve_rec.cnh_id := NULL;
455     END IF;
456     IF (l_tve_rec.tve_id_generated_by = OKC_API.G_MISS_NUM) THEN
457       l_tve_rec.tve_id_generated_by := NULL;
458     END IF;
459     IF (l_tve_rec.datetime = OKC_API.G_MISS_DATE) THEN
460       l_tve_rec.datetime := NULL;
461     END IF;
462     IF (l_tve_rec.month = OKC_API.G_MISS_NUM) THEN
463       l_tve_rec.month := NULL;
464     END IF;
465     IF (l_tve_rec.day = OKC_API.G_MISS_NUM) THEN
466       l_tve_rec.day := NULL;
467     END IF;
468     IF (l_tve_rec.hour = OKC_API.G_MISS_NUM) THEN
469       l_tve_rec.hour := NULL;
470     END IF;
471     IF (l_tve_rec.minute = OKC_API.G_MISS_NUM) THEN
472       l_tve_rec.minute := NULL;
473     END IF;
474     IF (l_tve_rec.second = OKC_API.G_MISS_NUM) THEN
475       l_tve_rec.second := NULL;
476     END IF;
477     IF (l_tve_rec.nth = OKC_API.G_MISS_NUM) THEN
478       l_tve_rec.nth := NULL;
479     END IF;
480     IF (l_tve_rec.day_of_week = OKC_API.G_MISS_CHAR) THEN
481       l_tve_rec.day_of_week := NULL;
482     END IF;
483     IF (l_tve_rec.interval_yn = OKC_API.G_MISS_CHAR) THEN
484       l_tve_rec.interval_yn := NULL;
485     END IF;
486     IF (l_tve_rec.spn_id = OKC_API.G_MISS_NUM) THEN
487       l_tve_rec.spn_id := NULL;
488     END IF;
489     IF (l_tve_rec.tve_id_offset = OKC_API.G_MISS_NUM) THEN
490       l_tve_rec.tve_id_offset := NULL;
491     END IF;
492     IF (l_tve_rec.tve_id_started = OKC_API.G_MISS_NUM) THEN
493       l_tve_rec.tve_id_started := NULL;
494     END IF;
495     IF (l_tve_rec.tve_id_ended = OKC_API.G_MISS_NUM) THEN
496       l_tve_rec.tve_id_ended := NULL;
497     END IF;
498     IF (l_tve_rec.uom_code = OKC_API.G_MISS_CHAR) THEN
499       l_tve_rec.uom_code := NULL;
500     END IF;
501     IF (l_tve_rec.duration = OKC_API.G_MISS_NUM) THEN
502       l_tve_rec.duration := NULL;
503     END IF;
504     IF (l_tve_rec.before_after = OKC_API.G_MISS_CHAR) THEN
505       l_tve_rec.before_after := NULL;
506     END IF;
507     IF (l_tve_rec.operator = OKC_API.G_MISS_CHAR) THEN
508       l_tve_rec.operator := NULL;
509     END IF;
510 --Bug 3122962
511     IF (l_tve_rec.name = OKC_API.G_MISS_CHAR) THEN
512       l_tve_rec.name := NULL;
513     END IF;
514     IF (l_tve_rec.description = OKC_API.G_MISS_CHAR) THEN
515       l_tve_rec.description := NULL;
516     END IF;
517     IF (l_tve_rec.short_description = OKC_API.G_MISS_CHAR) THEN
518       l_tve_rec.short_description := NULL;
519     END IF;
520     IF (l_tve_rec.comments = OKC_API.G_MISS_CHAR) THEN
521       l_tve_rec.comments := NULL;
522     END IF;
523 
524     RETURN(l_tve_rec);
525   END null_out_defaults;
526 /*
527   FUNCTION null_out_defaults (
528     p_tve_tl_rec	IN okc_timevalues_tl_rec_type
529   ) RETURN okc_timevalues_tl_rec_type IS
530     l_tve_tl_rec	okc_timevalues_tl_rec_type := p_tve_tl_rec;
531   BEGIN
532     RETURN(l_tve_tl_rec);
533   END null_out_defaults;
534 */
535   ---------------------------------------------------------------------------
536   -- PROCEDURE Validate_Attributes
537   ---------------------------------------------------------------------------
538   ----------------------------------------------
539   -- Validate_Attributes for:OKC_TIME_CYCLE_V --
540   ----------------------------------------------
541   PROCEDURE Validate_DNZ_Chr_ID (
542       x_return_status                OUT NOCOPY VARCHAR2,
543       p_cylv_rec                     IN cylv_rec_type) IS
544       item_not_found_error          EXCEPTION;
545       l_row_notfound                 BOOLEAN := TRUE;
546       CURSOR okc_chrv_pk_csr (p_id                 IN NUMBER) IS
547       SELECT  '1'
551     BEGIN
548         FROM Okc_k_headers_b
549        WHERE id = p_id;
550       l_okc_chrv_pk                  okc_chrv_pk_csr%ROWTYPE;
552       x_return_status                := OKC_API.G_RET_STS_SUCCESS;
553       IF (p_cylv_rec.dnz_chr_id IS NOT NULL AND
554           p_cylv_rec.dnz_chr_id <> OKC_API.G_MISS_NUM)
555       THEN
556         OPEN okc_chrv_pk_csr(p_cylv_rec.dnz_chr_id);
557         FETCH okc_chrv_pk_csr INTO l_okc_chrv_pk;
558         l_row_notfound := okc_chrv_pk_csr%NOTFOUND;
559         CLOSE okc_chrv_pk_csr;
560         IF (l_row_notfound) THEN
561           OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'DNZ_CHR_ID');
562           RAISE item_not_found_error;
563         END IF;
564       ELSE
565          OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'DNZ_CHR_ID');
566          x_return_status := OKC_API.G_RET_STS_ERROR;
567       END IF;
568     EXCEPTION
569       WHEN item_not_found_error THEN
570         x_return_status := OKC_API.G_RET_STS_ERROR;
571       WHEN OTHERS THEN
572       -- store SQL error message on message stack for caller
573         OKC_API.SET_MESSAGE(p_app_name     => g_app_name,
574                             p_msg_name     => g_unexpected_error,
575                             p_token1       => g_sqlcode_token,
576                             p_token1_value => sqlcode,
577                             p_token2       => g_col_name_token,
578                             p_token2_value => 'DNZ_CHR_ID',
579                             p_token3       => g_sqlerrm_token,
580                             p_token3_value => sqlerrm);
581       -- notify caller of an UNEXPECTED error
582        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
583     END Validate_DNZ_Chr_Id ;
584 
585   PROCEDURE Validate_Interval_YN (
586     x_return_status                OUT NOCOPY VARCHAR2,
587     p_cylv_rec                     IN cylv_rec_type) IS
588   BEGIN
589     IF upper(p_cylv_rec.interval_yn) = 'Y' OR
590        upper(p_cylv_rec.interval_yn) = 'N'
591     THEN
592        IF p_cylv_rec.interval_yn = 'Y' OR
593           p_cylv_rec.interval_yn = 'N'
594        THEN
595          x_return_status := OKC_API.G_RET_STS_SUCCESS;
596        ELSE
597          OKC_API.set_message(G_APP_NAME, G_UPPERCASE_REQUIRED,G_COL_NAME_TOKEN,'INTERVAL_YN');
598          x_return_status := OKC_API.G_RET_STS_ERROR;
599        END IF;
600     ELSE
601        OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'INTERVAL_YN');
602        x_return_status := OKC_API.G_RET_STS_ERROR;
603     END IF;
604   END Validate_Interval_YN;
605 
606   PROCEDURE Validate_Spn_Id (
607       x_return_status                OUT NOCOPY VARCHAR2,
608       p_cylv_rec                     IN cylv_rec_type) IS
609       item_not_found_error          EXCEPTION;
610       l_row_notfound                 BOOLEAN := TRUE;
611       CURSOR okc_spnv_pk_csr (p_id                 IN NUMBER) IS
612       SELECT  '1'
613         FROM Okc_Span
614        WHERE id        = p_id;
615       l_okc_spnv_pk                  okc_spnv_pk_csr%ROWTYPE;
616     BEGIN
617       x_return_status                := OKC_API.G_RET_STS_SUCCESS;
618       IF (p_cylv_rec.SPN_ID IS NOT NULL AND
619           p_cylv_rec.SPN_ID <> OKC_API.G_MISS_NUM)
620       THEN
621         OPEN okc_spnv_pk_csr(p_cylv_rec.SPN_ID);
622         FETCH okc_spnv_pk_csr INTO l_okc_spnv_pk;
623         l_row_notfound := okc_spnv_pk_csr%NOTFOUND;
624         CLOSE okc_spnv_pk_csr;
625         IF (l_row_notfound) THEN
626           OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'SPN_ID');
627           RAISE item_not_found_error;
628         END IF;
629       END IF;
630     EXCEPTION
631       WHEN item_not_found_error THEN
632         x_return_status := OKC_API.G_RET_STS_ERROR;
633       WHEN OTHERS THEN
634         OKC_API.SET_MESSAGE(p_app_name     => g_app_name,
635                             p_msg_name     => g_unexpected_error,
636                             p_token1       => g_sqlcode_token,
637                             p_token1_value => sqlcode,
638                             p_token2       => g_col_name_token,
639                             p_token2_value => 'SPN_ID',
640                             p_token3       => g_sqlerrm_token,
641                             p_token3_value => sqlerrm);
642       -- notify caller of an UNEXPECTED error
643         x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
644   END Validate_Spn_Id ;
645 
646   PROCEDURE Validate_Tve_Id_Limited (
647       x_return_status                OUT NOCOPY VARCHAR2,
648       p_cylv_rec                     IN cylv_rec_type) IS
649       item_not_found_error          EXCEPTION;
650       l_row_notfound                 BOOLEAN := TRUE;
651       CURSOR okc_tvev_pk_csr (p_id                 IN NUMBER) IS
652       SELECT  '1'
653         FROM Okc_Timevalues
654        WHERE id  = p_id
655         and tve_type in ('ISE','IGS');
656       l_okc_tvev_pk                  okc_tvev_pk_csr%ROWTYPE;
657     BEGIN
658       x_return_status                := OKC_API.G_RET_STS_SUCCESS;
659       IF (p_cylv_rec.TVE_ID_LIMITED IS NOT NULL AND
660           p_cylv_rec.TVE_ID_LIMITED <> OKC_API.G_MISS_NUM)
661       THEN
662         OPEN okc_tvev_pk_csr(p_cylv_rec.TVE_ID_LIMITED);
663         FETCH okc_tvev_pk_csr INTO l_okc_tvev_pk;
664         l_row_notfound := okc_tvev_pk_csr%NOTFOUND;
668           RAISE item_not_found_error;
665         CLOSE okc_tvev_pk_csr;
666         IF (l_row_notfound) THEN
667           OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'TVE_ID_LIMITED');
669         END IF;
670       END IF;
671     EXCEPTION
672       WHEN item_not_found_error THEN
673         x_return_status := OKC_API.G_RET_STS_ERROR;
674       WHEN OTHERS THEN
675       -- store SQL error message on message stack for caller
676         OKC_API.SET_MESSAGE(p_app_name     => g_app_name,
677                             p_msg_name     => g_unexpected_error,
678                             p_token1       => g_sqlcode_token,
679                             p_token1_value => sqlcode,
680                             p_token2       => g_col_name_token,
681                             p_token2_value => 'TVE_ID_LIMITED',
682                             p_token3       => g_sqlerrm_token,
683                             p_token3_value => sqlerrm);
684       -- notify caller of an UNEXPECTED error
685        x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
686     END Validate_Tve_Id_Limited ;
687 
688   PROCEDURE Validate_Time_Zone_Id (
689       x_return_status                OUT NOCOPY VARCHAR2,
690       p_cylv_rec                     IN cylv_rec_type) IS
691       item_not_found_error          EXCEPTION;
692       l_row_notfound                 BOOLEAN := TRUE;
693       l_row_found                    BOOLEAN := FALSE;
694       CURSOR okx_timezones_v_pk_csr (p_tze_id       IN NUMBER) IS
695       SELECT '1'
696         FROM Okx_TimeZones_V
697        WHERE okx_timezones_v.timezone_id = p_tze_id;
698       l_okx_timezones_v_pk             okx_timezones_v_pk_csr%ROWTYPE;
699     BEGIN
700       x_return_status                := OKC_API.G_RET_STS_SUCCESS;
701       IF (p_cylv_rec.TZE_ID IS NOT NULL AND
702           p_cylv_rec.TZE_ID <> OKC_API.G_MISS_NUM)
703       THEN
704         OPEN okx_timezones_v_pk_csr(p_cylv_rec.TZE_ID);
705         FETCH okx_timezones_v_pk_csr INTO l_okx_timezones_v_pk;
706         l_row_notfound := okx_timezones_v_pk_csr%NOTFOUND;
707         CLOSE okx_timezones_v_pk_csr;
708         IF (l_row_notfound) THEN
709           OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'TZE_ID');
710           RAISE item_not_found_error;
711         END IF;
712       END IF;
713     EXCEPTION
714       WHEN item_not_found_error THEN
715         x_return_status := OKC_API.G_RET_STS_ERROR;
716       WHEN OTHERS THEN
717         OKC_API.SET_MESSAGE(p_app_name     => g_app_name,
718                             p_msg_name     => g_unexpected_error,
719                             p_token1       => g_sqlcode_token,
720                             p_token1_value => sqlcode,
721                             p_token2       => g_col_name_token,
722                             p_token2_value => 'TZE_ID',
723                             p_token3       => g_sqlerrm_token,
724                             p_token3_value => sqlerrm);
725       -- notify caller of an UNEXPECTED error
726         x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
727   END Validate_Time_Zone_Id ;
728 --Bug 3122962
729 /*
730   PROCEDURE Validate_SFWT_Flag (
731     x_return_status                OUT NOCOPY VARCHAR2,
732     p_cylv_rec                     IN cylv_rec_type) IS
733   BEGIN
734     IF upper(p_cylv_rec.sfwt_flag) = 'Y' OR
735        upper(p_cylv_rec.sfwt_flag) = 'N'
736     THEN
737        IF p_cylv_rec.sfwt_flag = 'Y' OR
738           p_cylv_rec.sfwt_flag = 'N'
739        THEN
740          x_return_status := OKC_API.G_RET_STS_SUCCESS;
741        ELSE
742          OKC_API.set_message(G_APP_NAME, G_UPPERCASE_REQUIRED,G_COL_NAME_TOKEN,'SFWT_FLAG');
743          x_return_status := OKC_API.G_RET_STS_ERROR;
744        END IF;
745     ELSE
746        OKC_API.set_message(G_APP_NAME, G_INVALID_VALUE,G_COL_NAME_TOKEN,'SFWT_FLAG');
747        x_return_status := OKC_API.G_RET_STS_ERROR;
748     END IF;
749   END Validate_SFWT_Flag;
750 */
751   FUNCTION Validate_Attributes (
752     p_cylv_rec IN  cylv_rec_type
753   ) RETURN VARCHAR2 IS
754     l_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
755     x_return_status	VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
756   BEGIN
757     IF p_cylv_rec.id = OKC_API.G_MISS_NUM OR
758        p_cylv_rec.id IS NULL
759     THEN
760       OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'id');
761       x_return_status := OKC_API.G_RET_STS_ERROR;
762     ELSIF p_cylv_rec.object_version_number = OKC_API.G_MISS_NUM OR
763           p_cylv_rec.object_version_number IS NULL
764     THEN
765       OKC_API.set_message(G_APP_NAME, G_REQUIRED_VALUE,G_COL_NAME_TOKEN,'object_version_number');
766       x_return_status := OKC_API.G_RET_STS_ERROR;
767     END IF;
768     IF p_cylv_rec.dnz_chr_id <> 0 Then
769       Validate_DNZ_Chr_Id (l_return_status,
770                          p_cylv_rec);
771       IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
772         IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
773           x_return_status := l_return_status;
774           RAISE G_EXCEPTION_HALT_VALIDATION;
775         ELSE
776           x_return_status := l_return_status;   -- record that there was an error
777         END IF;
778       END IF;
779     END IF;
780     IF (p_cylv_rec.tve_id_limited is NOT NULL AND
781         p_cylv_rec.tve_id_limited <> OKC_API.G_MISS_NUM) THEN
785         IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
782       Validate_Tve_Id_Limited (l_return_status,
783                                p_cylv_rec);
784       IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
786           x_return_status := l_return_status;
787           RAISE G_EXCEPTION_HALT_VALIDATION;
788         ELSE
789           x_return_status := l_return_status;   -- record that there was an error
790         END IF;
791       END IF;
792     END IF;
793     IF (p_cylv_rec.TZE_ID IS NOT NULL AND
794         p_cylv_rec.TZE_ID <> OKC_API.G_MISS_NUM)
795     THEN
796       Validate_Time_Zone_Id (l_return_status,
797                              p_cylv_rec);
798       IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
799         IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN -- need to leave
800           x_return_status := l_return_status;
801           RAISE G_EXCEPTION_HALT_VALIDATION;
802         ELSE
803           x_return_status := l_return_status;   -- record that there was an error
804         END IF;
805       END IF;
806     END IF;
807     IF (p_cylv_rec.spn_id is NOT NULL) AND
808        (p_cylv_rec.spn_id <> OKC_API.G_MISS_NUM) THEN
809       Validate_Spn_Id (l_return_status,
810                        p_cylv_rec);
811       IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
812         IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
813           x_return_status := l_return_status;
814           RAISE G_EXCEPTION_HALT_VALIDATION;
815         ELSE
816           x_return_status := l_return_status;   -- record that there was an error
817         END IF;
818       END IF;
819     END IF;
820     Validate_Interval_YN (l_return_status,
821                           p_cylv_rec);
822     IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
823       IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
824         x_return_status := l_return_status;
825         RAISE G_EXCEPTION_HALT_VALIDATION;
826       ELSE
827         x_return_status := l_return_status;   -- record that there was an error
828       END IF;
829     END IF;
830 /*    Validate_SFWT_Flag (l_return_status,
831                         p_cylv_rec);
832     IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
833       IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN  -- need to leave
834         x_return_status := l_return_status;
835         RAISE G_EXCEPTION_HALT_VALIDATION;
836       ELSE
837         x_return_status := l_return_status;   -- record that there was an error
838       END IF;
839     END IF;
840 */
841   RETURN(x_return_status);
842   EXCEPTION
843     WHEN G_EXCEPTION_HALT_VALIDATION THEN
844       RETURN(x_return_status);
845 
846     WHEN OTHERS THEN
847     -- store SQL error message on message stack for caller
848       OKC_API.SET_MESSAGE(p_app_name     => g_app_name,
849                           p_msg_name     => g_unexpected_error,
850                           p_token1       => g_sqlcode_token,
851                           p_token1_value => sqlcode,
852                           p_token2       => g_sqlerrm_token,
853                           p_token2_value => sqlerrm);
854 
855     -- notify caller of an UNEXPECTED error
856       x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
857       RETURN(x_return_status);
858   END Validate_Attributes;
859 
860   ---------------------------------------------------------------------------
861   -- PROCEDURE Validate_Record
862   ---------------------------------------------------------------------------
863   ------------------------------------------
864   -- Validate_Record for:OKC_TIME_CYCLE_V --
865   ------------------------------------------
866   FUNCTION Validate_Record (
867     p_cylv_rec IN cylv_rec_type
868   ) RETURN VARCHAR2 IS
869     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
870   BEGIN
871     RETURN (l_return_status);
872   END Validate_Record;
873 
874  --**** End of Change -------------------------------------------------------
875   ---------------------------------------------------------------------------
876   -- PROCEDURE Migrate
877   ---------------------------------------------------------------------------
878   PROCEDURE migrate (
879     p_from	IN cylv_rec_type,
880     p_to	IN OUT NOCOPY tve_rec_type
881   ) IS
882     l_tve_rec tve_rec_type;
883   BEGIN
884 -- **** The following line is added to populate record type for Supertype
885     p_to.tve_type := 'CYL';
886     p_to.id := p_from.id;
887     p_to.spn_id := p_from.spn_id;
888     p_to.tve_id_limited := p_from.tve_id_limited;
889     p_to.dnz_chr_id := p_from.dnz_chr_id;
890     p_to.tze_id := p_from.tze_id;
891     p_to.object_version_number := p_from.object_version_number;
892     p_to.created_by := p_from.created_by;
893     p_to.creation_date := p_from.creation_date;
894     p_to.last_updated_by := p_from.last_updated_by;
895     p_to.last_update_date := p_from.last_update_date;
896     p_to.interval_yn := p_from.interval_yn;
897     p_to.last_update_login := p_from.last_update_login;
898     p_to.attribute_category := p_from.attribute_category;
899     p_to.attribute1 := p_from.attribute1;
900     p_to.attribute2 := p_from.attribute2;
901     p_to.attribute3 := p_from.attribute3;
902     p_to.attribute4 := p_from.attribute4;
906     p_to.attribute8 := p_from.attribute8;
903     p_to.attribute5 := p_from.attribute5;
904     p_to.attribute6 := p_from.attribute6;
905     p_to.attribute7 := p_from.attribute7;
907     p_to.attribute9 := p_from.attribute9;
908     p_to.attribute10 := p_from.attribute10;
909     p_to.attribute11 := p_from.attribute11;
910     p_to.attribute12 := p_from.attribute12;
911     p_to.attribute13 := p_from.attribute13;
912     p_to.attribute14 := p_from.attribute14;
913     p_to.attribute15 := p_from.attribute15;
914 --Bug 3122962
915     p_to.description := p_from.description;
916     p_to.short_description := p_from.short_description;
917     p_to.comments := p_from.comments;
918     p_to.name := p_from.name;
919 
920   -- **** Added  null_out_defaults to overcome number initialization
921   -- problem while populating optional columns for supertypes from a subtype
922     l_tve_rec := null_out_defaults(p_to);
923     p_to := l_tve_rec;
924   END migrate;
925   PROCEDURE migrate (
926     p_from	IN tve_rec_type,
927     p_to	IN OUT NOCOPY cylv_rec_type
928   ) IS
929   BEGIN
930     p_to.id := p_from.id;
931     p_to.spn_id := p_from.spn_id;
932     p_to.tve_id_limited := p_from.tve_id_limited;
933     p_to.dnz_chr_id := p_from.dnz_chr_id;
934     p_to.tze_id := p_from.tze_id;
935     p_to.object_version_number := p_from.object_version_number;
936     p_to.created_by := p_from.created_by;
937     p_to.creation_date := p_from.creation_date;
938     p_to.last_updated_by := p_from.last_updated_by;
939     p_to.last_update_date := p_from.last_update_date;
940     p_to.interval_yn := p_from.interval_yn;
941     p_to.last_update_login := p_from.last_update_login;
942     p_to.attribute_category := p_from.attribute_category;
943     p_to.attribute1 := p_from.attribute1;
944     p_to.attribute2 := p_from.attribute2;
945     p_to.attribute3 := p_from.attribute3;
946     p_to.attribute4 := p_from.attribute4;
947     p_to.attribute5 := p_from.attribute5;
948     p_to.attribute6 := p_from.attribute6;
949     p_to.attribute7 := p_from.attribute7;
950     p_to.attribute8 := p_from.attribute8;
951     p_to.attribute9 := p_from.attribute9;
952     p_to.attribute10 := p_from.attribute10;
953     p_to.attribute11 := p_from.attribute11;
954     p_to.attribute12 := p_from.attribute12;
955     p_to.attribute13 := p_from.attribute13;
956     p_to.attribute14 := p_from.attribute14;
957     p_to.attribute15 := p_from.attribute15;
958 --Bug 3122962
959     p_to.description := p_from.description;
960     p_to.short_description := p_from.short_description;
961     p_to.comments := p_from.comments;
962     p_to.name := p_from.name;
963 
964   END migrate;
965 /*
966   PROCEDURE migrate (
967     p_from	IN cylv_rec_type,
968     p_to	IN OUT NOCOPY okc_timevalues_tl_rec_type
969   ) IS
970   l_tve_tl_type          okc_timevalues_tl_rec_type;
971   BEGIN
972     p_to.id := p_from.id;
973     p_to.sfwt_flag := p_from.sfwt_flag;
974     p_to.description := p_from.description;
975     p_to.short_description := p_from.short_description;
976     p_to.comments := p_from.comments;
977     p_to.name := p_from.name;
978     p_to.created_by := p_from.created_by;
979     p_to.creation_date := p_from.creation_date;
980     p_to.last_updated_by := p_from.last_updated_by;
981     p_to.last_update_date := p_from.last_update_date;
982     p_to.last_update_login := p_from.last_update_login;
983   -- **** Added null_out_defaults to overcome number initialization
984   -- problem while populating optional columns for supertypes from a subtype
985     l_tve_tl_type := null_out_defaults(p_to);
986     p_to := l_tve_tl_type;
987   END migrate;
988   PROCEDURE migrate (
989     p_from	IN okc_timevalues_tl_rec_type,
990     p_to	IN OUT NOCOPY cylv_rec_type
991   ) IS
992   BEGIN
993     p_to.id := p_from.id;
994     p_to.sfwt_flag := p_from.sfwt_flag;
995     p_to.description := p_from.description;
996     p_to.short_description := p_from.short_description;
997     p_to.comments := p_from.comments;
998     p_to.name := p_from.name;
999     p_to.created_by := p_from.created_by;
1000     p_to.creation_date := p_from.creation_date;
1001     p_to.last_updated_by := p_from.last_updated_by;
1002     p_to.last_update_date := p_from.last_update_date;
1003     p_to.last_update_login := p_from.last_update_login;
1004   END migrate;
1005 */
1006   ---------------------------------------------------------------------------
1007   -- PROCEDURE validate_row
1008   ---------------------------------------------------------------------------
1009   ---------------------------------------
1010   -- validate_row for:OKC_TIME_CYCLE_V --
1011   ---------------------------------------
1012   PROCEDURE validate_row(
1013     p_api_version                  IN NUMBER,
1014     p_init_msg_list                IN VARCHAR2 ,
1015     x_return_status                OUT NOCOPY VARCHAR2,
1016     x_msg_count                    OUT NOCOPY NUMBER,
1017     x_msg_data                     OUT NOCOPY VARCHAR2,
1018     p_cylv_rec                     IN cylv_rec_type) IS
1019 
1020     l_api_version                 CONSTANT NUMBER := 1;
1021     l_api_name                     CONSTANT VARCHAR2(30) := 'V_validate_row';
1022     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1023     l_cylv_rec                     cylv_rec_type := p_cylv_rec;
1024     l_tve_rec                      tve_rec_type;
1028                                               G_PKG_NAME,
1025 --Bug 3122962    l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
1026   BEGIN
1027     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1029                                               p_init_msg_list,
1030                                               l_api_version,
1031                                               p_api_version,
1032                                               '_PVT',
1033                                               x_return_status);
1034     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1035       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1036     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1037       RAISE OKC_API.G_EXCEPTION_ERROR;
1038     END IF;
1039     --- Validate all non-missing attributes (Item Level Validation)
1040     l_return_status := Validate_Attributes(l_cylv_rec);
1041     --- If any errors happen abort API
1042     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1043       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1044     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1045       RAISE OKC_API.G_EXCEPTION_ERROR;
1046     END IF;
1047     l_return_status := Validate_Record(l_cylv_rec);
1048     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1049       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1050     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1051       RAISE OKC_API.G_EXCEPTION_ERROR;
1052     END IF;
1053     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1054   EXCEPTION
1055     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1056       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1057       (
1058         l_api_name,
1059         G_PKG_NAME,
1060         'OKC_API.G_RET_STS_ERROR',
1061         x_msg_count,
1062         x_msg_data,
1063         '_PVT'
1064       );
1065     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1066       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1067       (
1068         l_api_name,
1069         G_PKG_NAME,
1070         'OKC_API.G_RET_STS_UNEXP_ERROR',
1071         x_msg_count,
1072         x_msg_data,
1073         '_PVT'
1074       );
1075     WHEN OTHERS THEN
1076       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1077       (
1078         l_api_name,
1079         G_PKG_NAME,
1080         'OTHERS',
1081         x_msg_count,
1082         x_msg_data,
1083         '_PVT'
1084       );
1085   END validate_row;
1086   ------------------------------------------
1087   -- PL/SQL TBL validate_row for:CYLV_TBL --
1088   ------------------------------------------
1089   PROCEDURE validate_row(
1090     p_api_version                  IN NUMBER,
1091     p_init_msg_list                IN VARCHAR2 ,
1092     x_return_status                OUT NOCOPY VARCHAR2,
1093     x_msg_count                    OUT NOCOPY NUMBER,
1094     x_msg_data                     OUT NOCOPY VARCHAR2,
1095     p_cylv_tbl                     IN cylv_tbl_type) IS
1096 
1097     l_api_version                 CONSTANT NUMBER := 1;
1098     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
1099     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1100     i                              NUMBER := 0;
1101   BEGIN
1102     -- Make sure PL/SQL table has records in it before passing
1103     IF (p_cylv_tbl.COUNT > 0) THEN
1104       i := p_cylv_tbl.FIRST;
1105       LOOP
1106         validate_row (
1107           p_api_version                  => p_api_version,
1108           p_init_msg_list                => p_init_msg_list,
1109           x_return_status                => x_return_status,
1110           x_msg_count                    => x_msg_count,
1111           x_msg_data                     => x_msg_data,
1112           p_cylv_rec                     => p_cylv_tbl(i));
1113         EXIT WHEN (i = p_cylv_tbl.LAST);
1114         i := p_cylv_tbl.NEXT(i);
1115       END LOOP;
1116     END IF;
1117   EXCEPTION
1118     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1119       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1120       (
1121         l_api_name,
1122         G_PKG_NAME,
1123         'OKC_API.G_RET_STS_ERROR',
1124         x_msg_count,
1125         x_msg_data,
1126         '_PVT'
1127       );
1128     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1129       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1130       (
1131         l_api_name,
1132         G_PKG_NAME,
1133         'OKC_API.G_RET_STS_UNEXP_ERROR',
1134         x_msg_count,
1135         x_msg_data,
1136         '_PVT'
1137       );
1138     WHEN OTHERS THEN
1139       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1140       (
1141         l_api_name,
1142         G_PKG_NAME,
1143         'OTHERS',
1144         x_msg_count,
1145         x_msg_data,
1146         '_PVT'
1147       );
1148   END validate_row;
1149 
1150   ---------------------------------------------------------------------------
1151   -- PROCEDURE insert_row
1152   ---------------------------------------------------------------------------
1153   -------------------------------------
1154   -- insert_row for:OKC_TIMEVALUES_B --
1155   -------------------------------------
1156   PROCEDURE insert_row(
1157     p_init_msg_list                IN VARCHAR2 ,
1158     x_return_status                OUT NOCOPY VARCHAR2,
1162     x_tve_rec                      OUT NOCOPY tve_rec_type) IS
1159     x_msg_count                    OUT NOCOPY NUMBER,
1160     x_msg_data                     OUT NOCOPY VARCHAR2,
1161     p_tve_rec                      IN tve_rec_type,
1163 
1164     l_api_version                 CONSTANT NUMBER := 1;
1165     l_api_name                     CONSTANT VARCHAR2(30) := 'B_insert_row';
1166     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1167     l_tve_rec                      tve_rec_type := p_tve_rec;
1168     l_def_tve_rec                  tve_rec_type;
1169     -----------------------------------------
1170     -- Set_Attributes for:OKC_TIMEVALUES_B --
1171     -----------------------------------------
1172     FUNCTION Set_Attributes (
1173       p_tve_rec IN  tve_rec_type,
1174       x_tve_rec OUT NOCOPY tve_rec_type
1175     ) RETURN VARCHAR2 IS
1176       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1177     BEGIN
1178       x_tve_rec := p_tve_rec;
1179       RETURN(l_return_status);
1180     END Set_Attributes;
1181   BEGIN
1182     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1183                                               p_init_msg_list,
1184                                               '_PVT',
1185                                               x_return_status);
1186     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1187       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1188     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1189       RAISE OKC_API.G_EXCEPTION_ERROR;
1190     END IF;
1191     --- Setting item attributes
1192     l_return_status := Set_Attributes(
1193       p_tve_rec,                         -- IN
1194       l_tve_rec);                        -- OUT
1195     --- If any errors happen abort API
1196     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1197       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1198     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1199       RAISE OKC_API.G_EXCEPTION_ERROR;
1200     END IF;
1201     INSERT INTO OKC_TIMEVALUES(
1202         id,
1203         spn_id,
1204         tve_id_offset,
1205         uom_code,
1206         cnh_id,
1207         tve_id_generated_by,
1208         tve_id_started,
1209         tve_id_ended,
1210         tve_id_limited,
1211         dnz_chr_id,
1212         tze_id,
1213         tve_type,
1214         object_version_number,
1215         created_by,
1216         creation_date,
1217         last_updated_by,
1218         last_update_date,
1219         duration,
1220         operator,
1221         before_after,
1222         datetime,
1223         month,
1224         day,
1225         hour,
1226         minute,
1227         second,
1228         nth,
1229         day_of_week,
1230         interval_yn,
1231         last_update_login,
1232         attribute_category,
1233 --Bug 3122962
1234     description,
1235     short_description,
1236     comments,
1237     name,
1238 
1239         attribute1,
1240         attribute2,
1241         attribute3,
1242         attribute4,
1243         attribute5,
1244         attribute6,
1245         attribute7,
1246         attribute8,
1247         attribute9,
1248         attribute10,
1249         attribute11,
1250         attribute12,
1251         attribute13,
1252         attribute14,
1253         attribute15)
1254       VALUES (
1255         l_tve_rec.id,
1256         l_tve_rec.spn_id,
1257         l_tve_rec.tve_id_offset,
1258         l_tve_rec.uom_code,
1259         l_tve_rec.cnh_id,
1260         l_tve_rec.tve_id_generated_by,
1261         l_tve_rec.tve_id_started,
1262         l_tve_rec.tve_id_ended,
1263         l_tve_rec.tve_id_limited,
1264         l_tve_rec.dnz_chr_id,
1265         l_tve_rec.tze_id,
1266         l_tve_rec.tve_type,
1267         l_tve_rec.object_version_number,
1268         l_tve_rec.created_by,
1269         l_tve_rec.creation_date,
1270         l_tve_rec.last_updated_by,
1271         l_tve_rec.last_update_date,
1272         l_tve_rec.duration,
1273         l_tve_rec.operator,
1274         l_tve_rec.before_after,
1275         l_tve_rec.datetime,
1276         l_tve_rec.month,
1277         l_tve_rec.day,
1278         l_tve_rec.hour,
1279         l_tve_rec.minute,
1280         l_tve_rec.second,
1281         l_tve_rec.nth,
1282         l_tve_rec.day_of_week,
1283         l_tve_rec.interval_yn,
1284         l_tve_rec.last_update_login,
1285         l_tve_rec.attribute_category,
1286 
1287 --Bug 3122962
1288     l_tve_rec.description,
1289     l_tve_rec.short_description,
1290     l_tve_rec.comments,
1291     l_tve_rec.name,
1292         l_tve_rec.attribute1,
1293         l_tve_rec.attribute2,
1294         l_tve_rec.attribute3,
1295         l_tve_rec.attribute4,
1296         l_tve_rec.attribute5,
1297         l_tve_rec.attribute6,
1298         l_tve_rec.attribute7,
1299         l_tve_rec.attribute8,
1300         l_tve_rec.attribute9,
1301         l_tve_rec.attribute10,
1302         l_tve_rec.attribute11,
1303         l_tve_rec.attribute12,
1304         l_tve_rec.attribute13,
1305         l_tve_rec.attribute14,
1306         l_tve_rec.attribute15);
1307     -- Set OUT values
1311     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1308     x_tve_rec := l_tve_rec;
1309     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1310   EXCEPTION
1312       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1313       (
1314         l_api_name,
1315         G_PKG_NAME,
1316         'OKC_API.G_RET_STS_ERROR',
1317         x_msg_count,
1318         x_msg_data,
1319         '_PVT'
1320       );
1321     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1322       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1323       (
1324         l_api_name,
1325         G_PKG_NAME,
1326         'OKC_API.G_RET_STS_UNEXP_ERROR',
1327         x_msg_count,
1328         x_msg_data,
1329         '_PVT'
1330       );
1331     WHEN OTHERS THEN
1332       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1333       (
1334         l_api_name,
1335         G_PKG_NAME,
1336         'OTHERS',
1337         x_msg_count,
1338         x_msg_data,
1339         '_PVT'
1340       );
1341   END insert_row;
1342   --------------------------------------
1343   -- insert_row for:OKC_TIMEVALUES_TL --
1344   --------------------------------------
1345 --Bug 3122962
1346 /*  PROCEDURE insert_row(
1347     p_init_msg_list                IN VARCHAR2 ,
1348     x_return_status                OUT NOCOPY VARCHAR2,
1349     x_msg_count                    OUT NOCOPY NUMBER,
1350     x_msg_data                     OUT NOCOPY VARCHAR2,
1351     p_okc_timevalues_tl_rec        IN okc_timevalues_tl_rec_type,
1352     x_okc_timevalues_tl_rec        OUT NOCOPY okc_timevalues_tl_rec_type) IS
1353 
1354     l_api_version                 CONSTANT NUMBER := 1;
1355     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_insert_row';
1356     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1357     l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type := p_okc_timevalues_tl_rec;
1358     l_def_okc_timevalues_tl_rec    okc_timevalues_tl_rec_type;
1359     CURSOR get_languages IS
1360       SELECT *
1361         FROM FND_LANGUAGES
1362        WHERE INSTALLED_FLAG IN ('I', 'B');
1363     ------------------------------------------
1364     -- Set_Attributes for:OKC_TIMEVALUES_TL --
1365     ------------------------------------------
1366     FUNCTION Set_Attributes (
1367       p_okc_timevalues_tl_rec IN  okc_timevalues_tl_rec_type,
1368       x_okc_timevalues_tl_rec OUT NOCOPY okc_timevalues_tl_rec_type
1369     ) RETURN VARCHAR2 IS
1370       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1371     BEGIN
1372       x_okc_timevalues_tl_rec := p_okc_timevalues_tl_rec;
1373       x_okc_timevalues_tl_rec.LANGUAGE :=  okc_util.get_userenv_lang;
1374       x_okc_timevalues_tl_rec.SOURCE_LANG := okc_util.get_userenv_lang;
1375       RETURN(l_return_status);
1376     END Set_Attributes;
1377   BEGIN
1378     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1379                                               p_init_msg_list,
1380                                               '_PVT',
1381                                               x_return_status);
1382     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1383       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1384     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1385       RAISE OKC_API.G_EXCEPTION_ERROR;
1386     END IF;
1387     --- Setting item attributes
1388     l_return_status := Set_Attributes(
1389       p_okc_timevalues_tl_rec,           -- IN
1390       l_okc_timevalues_tl_rec);          -- OUT
1391     --- If any errors happen abort API
1392     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1393       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1394     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1395       RAISE OKC_API.G_EXCEPTION_ERROR;
1396     END IF;
1397     FOR l_lang_rec IN get_languages LOOP
1398       l_okc_timevalues_tl_rec.language := l_lang_rec.language_code;
1399       INSERT INTO OKC_TIMEVALUES_TL(
1400           id,
1401           language,
1402           source_lang,
1403           sfwt_flag,
1404           description,
1405           short_description,
1406           comments,
1407           name,
1408           created_by,
1409           creation_date,
1410           last_updated_by,
1411           last_update_date,
1412           last_update_login)
1413         VALUES (
1414           l_okc_timevalues_tl_rec.id,
1415           l_okc_timevalues_tl_rec.language,
1416           l_okc_timevalues_tl_rec.source_lang,
1417           l_okc_timevalues_tl_rec.sfwt_flag,
1418           l_okc_timevalues_tl_rec.description,
1419           l_okc_timevalues_tl_rec.short_description,
1420           l_okc_timevalues_tl_rec.comments,
1421           l_okc_timevalues_tl_rec.name,
1422           l_okc_timevalues_tl_rec.created_by,
1423           l_okc_timevalues_tl_rec.creation_date,
1424           l_okc_timevalues_tl_rec.last_updated_by,
1425           l_okc_timevalues_tl_rec.last_update_date,
1426           l_okc_timevalues_tl_rec.last_update_login);
1427     END LOOP;
1428     -- Set OUT values
1429     x_okc_timevalues_tl_rec := l_okc_timevalues_tl_rec;
1430     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1431   EXCEPTION
1432     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1433       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1434       (
1435         l_api_name,
1436         G_PKG_NAME,
1437         'OKC_API.G_RET_STS_ERROR',
1441       );
1438         x_msg_count,
1439         x_msg_data,
1440         '_PVT'
1442     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1443       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1444       (
1445         l_api_name,
1446         G_PKG_NAME,
1447         'OKC_API.G_RET_STS_UNEXP_ERROR',
1448         x_msg_count,
1449         x_msg_data,
1450         '_PVT'
1451       );
1452     WHEN OTHERS THEN
1453       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1454       (
1455         l_api_name,
1456         G_PKG_NAME,
1457         'OTHERS',
1458         x_msg_count,
1459         x_msg_data,
1460         '_PVT'
1461       );
1462   END insert_row;
1463 */
1464   -------------------------------------
1465   -- insert_row for:OKC_TIME_CYCLE_V --
1466   -------------------------------------
1467   PROCEDURE insert_row(
1468     p_api_version                  IN NUMBER,
1469     p_init_msg_list                IN VARCHAR2 ,
1470     x_return_status                OUT NOCOPY VARCHAR2,
1471     x_msg_count                    OUT NOCOPY NUMBER,
1472     x_msg_data                     OUT NOCOPY VARCHAR2,
1473     p_cylv_rec                     IN cylv_rec_type,
1474     x_cylv_rec                     OUT NOCOPY cylv_rec_type) IS
1475 
1476     l_api_version                 CONSTANT NUMBER := 1;
1477     l_api_name                     CONSTANT VARCHAR2(30) := 'V_insert_row';
1478     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1479     l_cylv_rec                     cylv_rec_type;
1480     l_def_cylv_rec                 cylv_rec_type;
1481     l_tve_rec                      tve_rec_type;
1482     lx_tve_rec                     tve_rec_type;
1483 --Bug 3122962    l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
1484 --Bug 3122962    lx_okc_timevalues_tl_rec       okc_timevalues_tl_rec_type;
1485     -------------------------------
1486     -- FUNCTION fill_who_columns --
1487     -------------------------------
1488     FUNCTION fill_who_columns (
1489       p_cylv_rec	IN cylv_rec_type
1490     ) RETURN cylv_rec_type IS
1491       l_cylv_rec	cylv_rec_type := p_cylv_rec;
1492     BEGIN
1493       l_cylv_rec.CREATION_DATE := SYSDATE;
1494       l_cylv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
1495       l_cylv_rec.LAST_UPDATE_DATE := l_cylv_rec.CREATION_DATE;
1496       l_cylv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
1497       l_cylv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
1498       RETURN(l_cylv_rec);
1499     END fill_who_columns;
1500     -----------------------------------------
1501     -- Set_Attributes for:OKC_TIME_CYCLE_V --
1502     -----------------------------------------
1503     FUNCTION Set_Attributes (
1504       p_cylv_rec IN  cylv_rec_type,
1505       x_cylv_rec OUT NOCOPY cylv_rec_type
1506     ) RETURN VARCHAR2 IS
1507       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1508     BEGIN
1509       x_cylv_rec := p_cylv_rec;
1510 -- **** Added the following line(s) for uppercasing *****
1511 --      x_cylv_rec.SFWT_FLAG := upper(p_cylv_rec.SFWT_FLAG);
1512       x_cylv_rec.INTERVAL_YN := upper(p_cylv_rec.INTERVAL_YN);
1513       x_cylv_rec.OBJECT_VERSION_NUMBER := 1;
1514 --      x_cylv_rec.SFWT_FLAG := 'N';
1515       RETURN(l_return_status);
1516     END Set_Attributes;
1517   BEGIN
1518     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1519                                               G_PKG_NAME,
1520                                               p_init_msg_list,
1521                                               l_api_version,
1522                                               p_api_version,
1523                                               '_PVT',
1524                                               x_return_status);
1525     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1526       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1527     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1528       RAISE OKC_API.G_EXCEPTION_ERROR;
1529     END IF;
1530     l_cylv_rec := null_out_defaults(p_cylv_rec);
1531     -- Set primary key value
1532     l_cylv_rec.ID := get_seq_id;
1533     --- Setting item attributes
1534     l_return_status := Set_Attributes(
1535       l_cylv_rec,                        -- IN
1536       l_def_cylv_rec);                   -- OUT
1537     --- If any errors happen abort API
1538     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1539       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1540     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1541       RAISE OKC_API.G_EXCEPTION_ERROR;
1542     END IF;
1543     l_def_cylv_rec := fill_who_columns(l_def_cylv_rec);
1544     --- Validate all non-missing attributes (Item Level Validation)
1545     l_return_status := Validate_Attributes(l_def_cylv_rec);
1546     --- If any errors happen abort API
1547     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1548       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1549     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1550       RAISE OKC_API.G_EXCEPTION_ERROR;
1551     END IF;
1552     l_return_status := Validate_Record(l_def_cylv_rec);
1553     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1554       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1555     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1556       RAISE OKC_API.G_EXCEPTION_ERROR;
1557     END IF;
1558     --------------------------------------
1559     -- Move VIEW record to "Child" records
1563     --------------------------------------------
1560     --------------------------------------
1561     migrate(l_def_cylv_rec, l_tve_rec);
1562 --Bug 3122962    migrate(l_def_cylv_rec, l_okc_timevalues_tl_rec);
1564     -- Call the INSERT_ROW for each child record
1565     --------------------------------------------
1566     insert_row(
1567       p_init_msg_list,
1568       x_return_status,
1569       x_msg_count,
1570       x_msg_data,
1571       l_tve_rec,
1572       lx_tve_rec
1573     );
1574     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1575       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1576     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1577       RAISE OKC_API.G_EXCEPTION_ERROR;
1578     END IF;
1579     migrate(lx_tve_rec, l_def_cylv_rec);
1580 --Bug 3122962
1581 /*
1582     insert_row(
1583       p_init_msg_list,
1584       x_return_status,
1585       x_msg_count,
1586       x_msg_data,
1587       l_okc_timevalues_tl_rec,
1588       lx_okc_timevalues_tl_rec
1589     );
1590     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1591       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1592     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1593       RAISE OKC_API.G_EXCEPTION_ERROR;
1594     END IF;
1595     migrate(lx_okc_timevalues_tl_rec, l_def_cylv_rec);
1596 */
1597     -- Set OUT values
1598     x_cylv_rec := l_def_cylv_rec;
1599     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1600   EXCEPTION
1601     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1602       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1603       (
1604         l_api_name,
1605         G_PKG_NAME,
1606         'OKC_API.G_RET_STS_ERROR',
1607         x_msg_count,
1608         x_msg_data,
1609         '_PVT'
1610       );
1611     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1612       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1613       (
1614         l_api_name,
1615         G_PKG_NAME,
1616         'OKC_API.G_RET_STS_UNEXP_ERROR',
1617         x_msg_count,
1618         x_msg_data,
1619         '_PVT'
1620       );
1621     WHEN OTHERS THEN
1622       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1623       (
1624         l_api_name,
1625         G_PKG_NAME,
1626         'OTHERS',
1627         x_msg_count,
1628         x_msg_data,
1629         '_PVT'
1630       );
1631   END insert_row;
1632   ----------------------------------------
1633   -- PL/SQL TBL insert_row for:CYLV_TBL --
1634   ----------------------------------------
1635   PROCEDURE insert_row(
1636     p_api_version                  IN NUMBER,
1637     p_init_msg_list                IN VARCHAR2 ,
1638     x_return_status                OUT NOCOPY VARCHAR2,
1639     x_msg_count                    OUT NOCOPY NUMBER,
1640     x_msg_data                     OUT NOCOPY VARCHAR2,
1641     p_cylv_tbl                     IN cylv_tbl_type,
1642     x_cylv_tbl                     OUT NOCOPY cylv_tbl_type) IS
1643 
1644     l_api_version                 CONSTANT NUMBER := 1;
1645     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
1646     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1647     i                              NUMBER := 0;
1648   BEGIN
1649     -- Make sure PL/SQL table has records in it before passing
1650     IF (p_cylv_tbl.COUNT > 0) THEN
1651       i := p_cylv_tbl.FIRST;
1652       LOOP
1653         insert_row (
1654           p_api_version                  => p_api_version,
1655           p_init_msg_list                => p_init_msg_list,
1656           x_return_status                => x_return_status,
1657           x_msg_count                    => x_msg_count,
1658           x_msg_data                     => x_msg_data,
1659           p_cylv_rec                     => p_cylv_tbl(i),
1660           x_cylv_rec                     => x_cylv_tbl(i));
1661         EXIT WHEN (i = p_cylv_tbl.LAST);
1662         i := p_cylv_tbl.NEXT(i);
1663       END LOOP;
1664     END IF;
1665   EXCEPTION
1666     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1667       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1668       (
1669         l_api_name,
1670         G_PKG_NAME,
1671         'OKC_API.G_RET_STS_ERROR',
1672         x_msg_count,
1673         x_msg_data,
1674         '_PVT'
1675       );
1676     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1677       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1678       (
1679         l_api_name,
1680         G_PKG_NAME,
1681         'OKC_API.G_RET_STS_UNEXP_ERROR',
1682         x_msg_count,
1683         x_msg_data,
1684         '_PVT'
1685       );
1686     WHEN OTHERS THEN
1687       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1688       (
1689         l_api_name,
1690         G_PKG_NAME,
1691         'OTHERS',
1692         x_msg_count,
1693         x_msg_data,
1694         '_PVT'
1695       );
1696   END insert_row;
1697 
1698   ---------------------------------------------------------------------------
1699   -- PROCEDURE lock_row
1700   ---------------------------------------------------------------------------
1701   -----------------------------------
1702   -- lock_row for:OKC_TIMEVALUES_B --
1703   -----------------------------------
1704   PROCEDURE lock_row(
1708     x_msg_data                     OUT NOCOPY VARCHAR2,
1705     p_init_msg_list                IN VARCHAR2 ,
1706     x_return_status                OUT NOCOPY VARCHAR2,
1707     x_msg_count                    OUT NOCOPY NUMBER,
1709     p_tve_rec                      IN tve_rec_type) IS
1710 
1711     E_Resource_Busy               EXCEPTION;
1712     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1713     CURSOR lock_csr (p_tve_rec IN tve_rec_type) IS
1714 --Bug 3122962
1715     SELECT OBJECT_VERSION_NUMBER
1716       FROM OKC_TIMEVALUES
1717      WHERE ID = p_tve_rec.id
1718        AND OBJECT_VERSION_NUMBER = p_tve_rec.object_version_number
1719     FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
1720 
1721     CURSOR  lchk_csr (p_tve_rec IN tve_rec_type) IS
1722     SELECT OBJECT_VERSION_NUMBER
1723       FROM OKC_TIMEVALUES
1724     WHERE ID = p_tve_rec.id;
1725     l_api_version                 CONSTANT NUMBER := 1;
1726     l_api_name                     CONSTANT VARCHAR2(30) := 'B_lock_row';
1727     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1728     l_object_version_number       OKC_TIMEVALUES.OBJECT_VERSION_NUMBER%TYPE;
1729     lc_object_version_number      OKC_TIMEVALUES.OBJECT_VERSION_NUMBER%TYPE;
1730     l_row_notfound                BOOLEAN := FALSE;
1731     lc_row_notfound               BOOLEAN := FALSE;
1732   BEGIN
1733     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1734                                               p_init_msg_list,
1735                                               '_PVT',
1736                                               x_return_status);
1737     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1738       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1739     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1740       RAISE OKC_API.G_EXCEPTION_ERROR;
1741     END IF;
1742     BEGIN
1743       OPEN lock_csr(p_tve_rec);
1744       FETCH lock_csr INTO l_object_version_number;
1745       l_row_notfound := lock_csr%NOTFOUND;
1746       CLOSE lock_csr;
1747     EXCEPTION
1748       WHEN E_Resource_Busy THEN
1749         IF (lock_csr%ISOPEN) THEN
1750           CLOSE lock_csr;
1751         END IF;
1752         OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1753         RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1754     END;
1755 
1756     IF ( l_row_notfound ) THEN
1757       OPEN lchk_csr(p_tve_rec);
1758       FETCH lchk_csr INTO lc_object_version_number;
1759       lc_row_notfound := lchk_csr%NOTFOUND;
1760       CLOSE lchk_csr;
1761     END IF;
1762     IF (lc_row_notfound) THEN
1763       OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1764       RAISE OKC_API.G_EXCEPTION_ERROR;
1765     ELSIF lc_object_version_number > p_tve_rec.object_version_number THEN
1766       OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1767       RAISE OKC_API.G_EXCEPTION_ERROR;
1768     ELSIF lc_object_version_number <> p_tve_rec.object_version_number THEN
1769       OKC_API.set_message(G_FND_APP,G_FORM_RECORD_CHANGED);
1770       RAISE OKC_API.G_EXCEPTION_ERROR;
1771     ELSIF lc_object_version_number = -1 THEN
1772       OKC_API.set_message(G_APP_NAME,G_RECORD_LOGICALLY_DELETED);
1773       RAISE OKC_API.G_EXCEPTION_ERROR;
1774     END IF;
1775     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1776   EXCEPTION
1777     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1778       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1779       (
1780         l_api_name,
1781         G_PKG_NAME,
1782         'OKC_API.G_RET_STS_ERROR',
1783         x_msg_count,
1784         x_msg_data,
1785         '_PVT'
1786       );
1787     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1788       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1789       (
1790         l_api_name,
1791         G_PKG_NAME,
1792         'OKC_API.G_RET_STS_UNEXP_ERROR',
1793         x_msg_count,
1794         x_msg_data,
1795         '_PVT'
1796       );
1797     WHEN OTHERS THEN
1798       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1799       (
1800         l_api_name,
1801         G_PKG_NAME,
1802         'OTHERS',
1803         x_msg_count,
1804         x_msg_data,
1805         '_PVT'
1806       );
1807   END lock_row;
1808   ------------------------------------
1809   -- lock_row for:OKC_TIMEVALUES_TL --
1810   ------------------------------------
1811 --Bug 3122962
1812 /*  PROCEDURE lock_row(
1813     p_init_msg_list                IN VARCHAR2 ,
1814     x_return_status                OUT NOCOPY VARCHAR2,
1815     x_msg_count                    OUT NOCOPY NUMBER,
1816     x_msg_data                     OUT NOCOPY VARCHAR2,
1817     p_okc_timevalues_tl_rec        IN okc_timevalues_tl_rec_type) IS
1818 
1819     E_Resource_Busy               EXCEPTION;
1820     PRAGMA EXCEPTION_INIT(E_Resource_Busy, -00054);
1821     CURSOR lock_csr (p_okc_timevalues_tl_rec IN okc_timevalues_tl_rec_type) IS
1822     SELECT id
1823       FROM OKC_TIMEVALUES_TL
1824      WHERE ID = p_okc_timevalues_tl_rec.id
1825     FOR UPDATE NOWAIT;
1826 
1827     l_api_version                 CONSTANT NUMBER := 1;
1828     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_lock_row';
1829     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1830     l_lock_var                    lock_csr%ROWTYPE;
1831     l_row_notfound                BOOLEAN := FALSE;
1832     lc_row_notfound               BOOLEAN := FALSE;
1833   BEGIN
1837                                               x_return_status);
1834     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1835                                               p_init_msg_list,
1836                                               '_PVT',
1838     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1839       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1840     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1841       RAISE OKC_API.G_EXCEPTION_ERROR;
1842     END IF;
1843     BEGIN
1844       OPEN lock_csr(p_okc_timevalues_tl_rec);
1845       FETCH lock_csr INTO l_lock_var;
1846       l_row_notfound := lock_csr%NOTFOUND;
1847       CLOSE lock_csr;
1848     EXCEPTION
1849       WHEN E_Resource_Busy THEN
1850         IF (lock_csr%ISOPEN) THEN
1851           CLOSE lock_csr;
1852         END IF;
1853         OKC_API.set_message(G_FND_APP,G_FORM_UNABLE_TO_RESERVE_REC);
1854         RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
1855     END;
1856 
1857     IF ( l_row_notfound ) THEN
1858       OKC_API.set_message(G_FND_APP,G_FORM_RECORD_DELETED);
1859       RAISE OKC_API.G_EXCEPTION_ERROR;
1860     END IF;
1861     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1862   EXCEPTION
1863     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1864       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1865       (
1866         l_api_name,
1867         G_PKG_NAME,
1868         'OKC_API.G_RET_STS_ERROR',
1869         x_msg_count,
1870         x_msg_data,
1871         '_PVT'
1872       );
1873     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1874       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1875       (
1876         l_api_name,
1877         G_PKG_NAME,
1878         'OKC_API.G_RET_STS_UNEXP_ERROR',
1879         x_msg_count,
1880         x_msg_data,
1881         '_PVT'
1882       );
1883     WHEN OTHERS THEN
1884       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1885       (
1886         l_api_name,
1887         G_PKG_NAME,
1888         'OTHERS',
1889         x_msg_count,
1890         x_msg_data,
1891         '_PVT'
1892       );
1893   END lock_row;
1894 */  -----------------------------------
1895   -- lock_row for:OKC_TIME_CYCLE_V --
1896   -----------------------------------
1897   PROCEDURE lock_row(
1898     p_api_version                  IN NUMBER,
1899     p_init_msg_list                IN VARCHAR2 ,
1900     x_return_status                OUT NOCOPY VARCHAR2,
1901     x_msg_count                    OUT NOCOPY NUMBER,
1902     x_msg_data                     OUT NOCOPY VARCHAR2,
1903     p_cylv_rec                     IN cylv_rec_type) IS
1904 
1905     l_api_version                 CONSTANT NUMBER := 1;
1906     l_api_name                     CONSTANT VARCHAR2(30) := 'V_lock_row';
1907     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1908     l_tve_rec                      tve_rec_type;
1909 --Bug 3122962    l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
1910   BEGIN
1911     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1912                                               G_PKG_NAME,
1913                                               p_init_msg_list,
1914                                               l_api_version,
1915                                               p_api_version,
1916                                               '_PVT',
1917                                               x_return_status);
1918     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1919       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1920     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1921       RAISE OKC_API.G_EXCEPTION_ERROR;
1922     END IF;
1923     --------------------------------------
1924     -- Move VIEW record to "Child" records
1925     --------------------------------------
1926     migrate(p_cylv_rec, l_tve_rec);
1927 --Bug 3122962    migrate(p_cylv_rec, l_okc_timevalues_tl_rec);
1928     --------------------------------------------
1929     -- Call the LOCK_ROW for each child record
1930     --------------------------------------------
1931     lock_row(
1932       p_init_msg_list,
1933       x_return_status,
1934       x_msg_count,
1935       x_msg_data,
1936       l_tve_rec
1937     );
1938     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1939       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1940     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1941       RAISE OKC_API.G_EXCEPTION_ERROR;
1942     END IF;
1943 --Bug 3122962
1944 /*
1945     lock_row(
1946       p_init_msg_list,
1947       x_return_status,
1948       x_msg_count,
1949       x_msg_data,
1950       l_okc_timevalues_tl_rec
1951     );
1952     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1953       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1954     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1955       RAISE OKC_API.G_EXCEPTION_ERROR;
1956     END IF;
1957 */
1958     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1959   EXCEPTION
1960     WHEN OKC_API.G_EXCEPTION_ERROR THEN
1961       x_return_status := OKC_API.HANDLE_EXCEPTIONS
1962       (
1963         l_api_name,
1964         G_PKG_NAME,
1965         'OKC_API.G_RET_STS_ERROR',
1966         x_msg_count,
1967         x_msg_data,
1968         '_PVT'
1969       );
1970     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1974         G_PKG_NAME,
1971       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1972       (
1973         l_api_name,
1975         'OKC_API.G_RET_STS_UNEXP_ERROR',
1976         x_msg_count,
1977         x_msg_data,
1978         '_PVT'
1979       );
1980     WHEN OTHERS THEN
1981       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
1982       (
1983         l_api_name,
1984         G_PKG_NAME,
1985         'OTHERS',
1986         x_msg_count,
1987         x_msg_data,
1988         '_PVT'
1989       );
1990   END lock_row;
1991   --------------------------------------
1992   -- PL/SQL TBL lock_row for:CYLV_TBL --
1993   --------------------------------------
1994   PROCEDURE lock_row(
1995     p_api_version                  IN NUMBER,
1996     p_init_msg_list                IN VARCHAR2 ,
1997     x_return_status                OUT NOCOPY VARCHAR2,
1998     x_msg_count                    OUT NOCOPY NUMBER,
1999     x_msg_data                     OUT NOCOPY VARCHAR2,
2000     p_cylv_tbl                     IN cylv_tbl_type) IS
2001 
2002     l_api_version                 CONSTANT NUMBER := 1;
2003     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
2004     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2005     i                              NUMBER := 0;
2006   BEGIN
2007     -- Make sure PL/SQL table has records in it before passing
2008     IF (p_cylv_tbl.COUNT > 0) THEN
2009       i := p_cylv_tbl.FIRST;
2010       LOOP
2011         lock_row (
2012           p_api_version                  => p_api_version,
2013           p_init_msg_list                => p_init_msg_list,
2014           x_return_status                => x_return_status,
2015           x_msg_count                    => x_msg_count,
2016           x_msg_data                     => x_msg_data,
2017           p_cylv_rec                     => p_cylv_tbl(i));
2018         EXIT WHEN (i = p_cylv_tbl.LAST);
2019         i := p_cylv_tbl.NEXT(i);
2020       END LOOP;
2021     END IF;
2022   EXCEPTION
2023     WHEN OKC_API.G_EXCEPTION_ERROR THEN
2024       x_return_status := OKC_API.HANDLE_EXCEPTIONS
2025       (
2026         l_api_name,
2027         G_PKG_NAME,
2028         'OKC_API.G_RET_STS_ERROR',
2029         x_msg_count,
2030         x_msg_data,
2031         '_PVT'
2032       );
2033     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2034       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2035       (
2036         l_api_name,
2037         G_PKG_NAME,
2038         'OKC_API.G_RET_STS_UNEXP_ERROR',
2039         x_msg_count,
2040         x_msg_data,
2041         '_PVT'
2042       );
2043     WHEN OTHERS THEN
2044       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2045       (
2046         l_api_name,
2047         G_PKG_NAME,
2048         'OTHERS',
2049         x_msg_count,
2050         x_msg_data,
2051         '_PVT'
2052       );
2053   END lock_row;
2054 
2055   ---------------------------------------------------------------------------
2056   -- PROCEDURE update_row
2057   ---------------------------------------------------------------------------
2058   -------------------------------------
2059   -- update_row for:OKC_TIMEVALUES_B --
2060   -------------------------------------
2061   PROCEDURE update_row(
2062     p_init_msg_list                IN VARCHAR2 ,
2063     x_return_status                OUT NOCOPY VARCHAR2,
2064     x_msg_count                    OUT NOCOPY NUMBER,
2065     x_msg_data                     OUT NOCOPY VARCHAR2,
2066     p_tve_rec                      IN tve_rec_type,
2067     x_tve_rec                      OUT NOCOPY tve_rec_type) IS
2068 
2069     l_api_version                 CONSTANT NUMBER := 1;
2070     l_api_name                     CONSTANT VARCHAR2(30) := 'B_update_row';
2071     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2072     l_tve_rec                      tve_rec_type := p_tve_rec;
2073     l_def_tve_rec                  tve_rec_type;
2074     l_row_notfound                 BOOLEAN := TRUE;
2075     ----------------------------------
2076     -- FUNCTION populate_new_record --
2077     ----------------------------------
2078     FUNCTION populate_new_record (
2079       p_tve_rec	IN tve_rec_type,
2080       x_tve_rec	OUT NOCOPY tve_rec_type
2081     ) RETURN VARCHAR2 IS
2082       l_tve_rec                      tve_rec_type;
2083       l_row_notfound                 BOOLEAN := TRUE;
2084       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2085     BEGIN
2086       x_tve_rec := p_tve_rec;
2087       -- Get current database values
2088       l_tve_rec := get_rec(p_tve_rec, l_row_notfound);
2089       IF (l_row_notfound) THEN
2090         l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2091       END IF;
2092       IF (x_tve_rec.id = OKC_API.G_MISS_NUM)
2093       THEN
2094         x_tve_rec.id := l_tve_rec.id;
2095       END IF;
2096       IF (x_tve_rec.spn_id = OKC_API.G_MISS_NUM)
2097       THEN
2098         x_tve_rec.spn_id := l_tve_rec.spn_id;
2099       END IF;
2100       IF (x_tve_rec.tve_id_offset = OKC_API.G_MISS_NUM)
2101       THEN
2102         x_tve_rec.tve_id_offset := l_tve_rec.tve_id_offset;
2103       END IF;
2104       IF (x_tve_rec.uom_code = OKC_API.G_MISS_CHAR)
2105       THEN
2106         x_tve_rec.uom_code := l_tve_rec.uom_code;
2110         x_tve_rec.cnh_id := l_tve_rec.cnh_id;
2107       END IF;
2108       IF (x_tve_rec.cnh_id = OKC_API.G_MISS_NUM)
2109       THEN
2111       END IF;
2112       IF (x_tve_rec.tve_id_generated_by = OKC_API.G_MISS_NUM)
2113       THEN
2114         x_tve_rec.tve_id_generated_by := l_tve_rec.tve_id_generated_by;
2115       END IF;
2116       IF (x_tve_rec.tve_id_started = OKC_API.G_MISS_NUM)
2117       THEN
2118         x_tve_rec.tve_id_started := l_tve_rec.tve_id_started;
2119       END IF;
2120       IF (x_tve_rec.tve_id_ended = OKC_API.G_MISS_NUM)
2121       THEN
2122         x_tve_rec.tve_id_ended := l_tve_rec.tve_id_ended;
2123       END IF;
2124       IF (x_tve_rec.tve_id_limited = OKC_API.G_MISS_NUM)
2125       THEN
2126         x_tve_rec.tve_id_limited := l_tve_rec.tve_id_limited;
2127       END IF;
2128       IF (x_tve_rec.dnz_chr_id = OKC_API.G_MISS_NUM)
2129       THEN
2130         x_tve_rec.dnz_chr_id := l_tve_rec.dnz_chr_id;
2131       END IF;
2132       IF (x_tve_rec.tze_id = OKC_API.G_MISS_NUM)
2133       THEN
2134         x_tve_rec.tze_id := l_tve_rec.tze_id;
2135       END IF;
2136       IF (x_tve_rec.tve_type = OKC_API.G_MISS_CHAR)
2137       THEN
2138         x_tve_rec.tve_type := l_tve_rec.tve_type;
2139       END IF;
2140       IF (x_tve_rec.object_version_number = OKC_API.G_MISS_NUM)
2141       THEN
2142         x_tve_rec.object_version_number := l_tve_rec.object_version_number;
2143       END IF;
2144       IF (x_tve_rec.created_by = OKC_API.G_MISS_NUM)
2145       THEN
2146         x_tve_rec.created_by := l_tve_rec.created_by;
2147       END IF;
2148       IF (x_tve_rec.creation_date = OKC_API.G_MISS_DATE)
2149       THEN
2150         x_tve_rec.creation_date := l_tve_rec.creation_date;
2151       END IF;
2152       IF (x_tve_rec.last_updated_by = OKC_API.G_MISS_NUM)
2153       THEN
2154         x_tve_rec.last_updated_by := l_tve_rec.last_updated_by;
2155       END IF;
2156       IF (x_tve_rec.last_update_date = OKC_API.G_MISS_DATE)
2157       THEN
2158         x_tve_rec.last_update_date := l_tve_rec.last_update_date;
2159       END IF;
2160       IF (x_tve_rec.duration = OKC_API.G_MISS_NUM)
2161       THEN
2162         x_tve_rec.duration := l_tve_rec.duration;
2163       END IF;
2164       IF (x_tve_rec.operator = OKC_API.G_MISS_CHAR)
2165       THEN
2166         x_tve_rec.operator := l_tve_rec.operator;
2167       END IF;
2168       IF (x_tve_rec.before_after = OKC_API.G_MISS_CHAR)
2169       THEN
2170         x_tve_rec.before_after := l_tve_rec.before_after;
2171       END IF;
2172       IF (x_tve_rec.datetime = OKC_API.G_MISS_DATE)
2173       THEN
2174         x_tve_rec.datetime := l_tve_rec.datetime;
2175       END IF;
2176       IF (x_tve_rec.month = OKC_API.G_MISS_NUM)
2177       THEN
2178         x_tve_rec.month := l_tve_rec.month;
2179       END IF;
2180       IF (x_tve_rec.day = OKC_API.G_MISS_NUM)
2181       THEN
2182         x_tve_rec.day := l_tve_rec.day;
2183       END IF;
2184       IF (x_tve_rec.hour = OKC_API.G_MISS_NUM)
2185       THEN
2186         x_tve_rec.hour := l_tve_rec.hour;
2187       END IF;
2188       IF (x_tve_rec.minute = OKC_API.G_MISS_NUM)
2189       THEN
2190         x_tve_rec.minute := l_tve_rec.minute;
2191       END IF;
2192       IF (x_tve_rec.second = OKC_API.G_MISS_NUM)
2193       THEN
2194         x_tve_rec.second := l_tve_rec.second;
2195       END IF;
2196       IF (x_tve_rec.nth = OKC_API.G_MISS_NUM)
2197       THEN
2198         x_tve_rec.nth := l_tve_rec.nth;
2199       END IF;
2200       IF (x_tve_rec.day_of_week = OKC_API.G_MISS_CHAR)
2201       THEN
2202         x_tve_rec.day_of_week := l_tve_rec.day_of_week;
2203       END IF;
2204       IF (x_tve_rec.interval_yn = OKC_API.G_MISS_CHAR)
2205       THEN
2206         x_tve_rec.interval_yn := l_tve_rec.interval_yn;
2207       END IF;
2208       IF (x_tve_rec.last_update_login = OKC_API.G_MISS_NUM)
2209       THEN
2210         x_tve_rec.last_update_login := l_tve_rec.last_update_login;
2211       END IF;
2212       IF (x_tve_rec.attribute_category = OKC_API.G_MISS_CHAR)
2213       THEN
2214         x_tve_rec.attribute_category := l_tve_rec.attribute_category;
2215       END IF;
2216       IF (x_tve_rec.attribute1 = OKC_API.G_MISS_CHAR)
2217       THEN
2218         x_tve_rec.attribute1 := l_tve_rec.attribute1;
2219       END IF;
2220       IF (x_tve_rec.attribute2 = OKC_API.G_MISS_CHAR)
2221       THEN
2222         x_tve_rec.attribute2 := l_tve_rec.attribute2;
2223       END IF;
2224       IF (x_tve_rec.attribute3 = OKC_API.G_MISS_CHAR)
2225       THEN
2226         x_tve_rec.attribute3 := l_tve_rec.attribute3;
2227       END IF;
2228       IF (x_tve_rec.attribute4 = OKC_API.G_MISS_CHAR)
2229       THEN
2230         x_tve_rec.attribute4 := l_tve_rec.attribute4;
2231       END IF;
2232       IF (x_tve_rec.attribute5 = OKC_API.G_MISS_CHAR)
2233       THEN
2234         x_tve_rec.attribute5 := l_tve_rec.attribute5;
2235       END IF;
2236       IF (x_tve_rec.attribute6 = OKC_API.G_MISS_CHAR)
2237       THEN
2238         x_tve_rec.attribute6 := l_tve_rec.attribute6;
2239       END IF;
2240       IF (x_tve_rec.attribute7 = OKC_API.G_MISS_CHAR)
2241       THEN
2242         x_tve_rec.attribute7 := l_tve_rec.attribute7;
2243       END IF;
2244       IF (x_tve_rec.attribute8 = OKC_API.G_MISS_CHAR)
2245       THEN
2249       THEN
2246         x_tve_rec.attribute8 := l_tve_rec.attribute8;
2247       END IF;
2248       IF (x_tve_rec.attribute9 = OKC_API.G_MISS_CHAR)
2250         x_tve_rec.attribute9 := l_tve_rec.attribute9;
2251       END IF;
2252       IF (x_tve_rec.attribute10 = OKC_API.G_MISS_CHAR)
2253       THEN
2254         x_tve_rec.attribute10 := l_tve_rec.attribute10;
2255       END IF;
2256       IF (x_tve_rec.attribute11 = OKC_API.G_MISS_CHAR)
2257       THEN
2258         x_tve_rec.attribute11 := l_tve_rec.attribute11;
2259       END IF;
2260       IF (x_tve_rec.attribute12 = OKC_API.G_MISS_CHAR)
2261       THEN
2262         x_tve_rec.attribute12 := l_tve_rec.attribute12;
2263       END IF;
2264       IF (x_tve_rec.attribute13 = OKC_API.G_MISS_CHAR)
2265       THEN
2266         x_tve_rec.attribute13 := l_tve_rec.attribute13;
2267       END IF;
2268       IF (x_tve_rec.attribute14 = OKC_API.G_MISS_CHAR)
2269       THEN
2270         x_tve_rec.attribute14 := l_tve_rec.attribute14;
2271       END IF;
2272       IF (x_tve_rec.attribute15 = OKC_API.G_MISS_CHAR)
2273       THEN
2274         x_tve_rec.attribute15 := l_tve_rec.attribute15;
2275       END IF;
2276 --Bug 3122962
2277       IF (x_tve_rec.description = OKC_API.G_MISS_CHAR)
2278       THEN
2279         x_tve_rec.description := x_tve_rec.description;
2280       END IF;
2281       IF (x_tve_rec.short_description = OKC_API.G_MISS_CHAR)
2282       THEN
2283         x_tve_rec.short_description := x_tve_rec.short_description;
2284       END IF;
2285       IF (x_tve_rec.comments = OKC_API.G_MISS_CHAR)
2286       THEN
2287         x_tve_rec.comments := x_tve_rec.comments;
2288       END IF;
2289       IF (x_tve_rec.name = OKC_API.G_MISS_CHAR)
2290       THEN
2291         x_tve_rec.name := x_tve_rec.name;
2292       END IF;
2293 
2294 
2295       RETURN(l_return_status);
2296     END populate_new_record;
2297     -----------------------------------------
2298     -- Set_Attributes for:OKC_TIMEVALUES_B --
2299     -----------------------------------------
2300     FUNCTION Set_Attributes (
2301       p_tve_rec IN  tve_rec_type,
2302       x_tve_rec OUT NOCOPY tve_rec_type
2303     ) RETURN VARCHAR2 IS
2304       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2305     BEGIN
2306       x_tve_rec := p_tve_rec;
2307       RETURN(l_return_status);
2308     END Set_Attributes;
2309   BEGIN
2310     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2311                                               p_init_msg_list,
2312                                               '_PVT',
2313                                               x_return_status);
2314     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2315       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2316     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2317       RAISE OKC_API.G_EXCEPTION_ERROR;
2318     END IF;
2319     --- Setting item attributes
2320     l_return_status := Set_Attributes(
2321       p_tve_rec,                         -- IN
2322       l_tve_rec);                        -- OUT
2323     --- If any errors happen abort API
2324     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2325       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2326     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2327       RAISE OKC_API.G_EXCEPTION_ERROR;
2328     END IF;
2329     l_return_status := populate_new_record(l_tve_rec, l_def_tve_rec);
2330     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2331       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2332     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2333       RAISE OKC_API.G_EXCEPTION_ERROR;
2334     END IF;
2335     UPDATE  OKC_TIMEVALUES
2336     SET SPN_ID = l_def_tve_rec.spn_id,
2337         TVE_ID_OFFSET = l_def_tve_rec.tve_id_offset,
2338         uom_code = l_def_tve_rec.uom_code,
2339         CNH_ID = l_def_tve_rec.cnh_id,
2340         TVE_ID_GENERATED_BY = l_def_tve_rec.tve_id_generated_by,
2341         TVE_ID_STARTED = l_def_tve_rec.tve_id_started,
2342         TVE_ID_ENDED = l_def_tve_rec.tve_id_ended,
2343         TVE_ID_LIMITED = l_def_tve_rec.tve_id_limited,
2344         DNZ_CHR_ID = l_def_tve_rec.dnz_chr_id,
2345         TZE_ID = l_def_tve_rec.tze_id,
2346         TVE_TYPE = l_def_tve_rec.tve_type,
2347         OBJECT_VERSION_NUMBER = l_def_tve_rec.object_version_number,
2348         CREATED_BY = l_def_tve_rec.created_by,
2349         CREATION_DATE = l_def_tve_rec.creation_date,
2350         LAST_UPDATED_BY = l_def_tve_rec.last_updated_by,
2351         LAST_UPDATE_DATE = l_def_tve_rec.last_update_date,
2352         DURATION = l_def_tve_rec.duration,
2353         OPERATOR = l_def_tve_rec.operator,
2354         BEFORE_AFTER = l_def_tve_rec.before_after,
2355         DATETIME = l_def_tve_rec.datetime,
2356         MONTH = l_def_tve_rec.month,
2357         DAY = l_def_tve_rec.day,
2358         HOUR = l_def_tve_rec.hour,
2359         MINUTE = l_def_tve_rec.minute,
2360         SECOND = l_def_tve_rec.second,
2361         NTH = l_def_tve_rec.nth,
2362         DAY_OF_WEEK = l_def_tve_rec.day_of_week,
2363         INTERVAL_YN = l_def_tve_rec.interval_yn,
2364         LAST_UPDATE_LOGIN = l_def_tve_rec.last_update_login,
2365         ATTRIBUTE_CATEGORY = l_def_tve_rec.attribute_category,
2366 --Bug 3122962
2367         DESCRIPTION = l_def_tve_rec.description,
2368         SHORT_DESCRIPTION = l_def_tve_rec.short_description,
2369         COMMENTS = l_def_tve_rec.comments,
2370         NAME = l_def_tve_rec.name,
2374         ATTRIBUTE3 = l_def_tve_rec.attribute3,
2371 
2372         ATTRIBUTE1 = l_def_tve_rec.attribute1,
2373         ATTRIBUTE2 = l_def_tve_rec.attribute2,
2375         ATTRIBUTE4 = l_def_tve_rec.attribute4,
2376         ATTRIBUTE5 = l_def_tve_rec.attribute5,
2377         ATTRIBUTE6 = l_def_tve_rec.attribute6,
2378         ATTRIBUTE7 = l_def_tve_rec.attribute7,
2379         ATTRIBUTE8 = l_def_tve_rec.attribute8,
2380         ATTRIBUTE9 = l_def_tve_rec.attribute9,
2381         ATTRIBUTE10 = l_def_tve_rec.attribute10,
2382         ATTRIBUTE11 = l_def_tve_rec.attribute11,
2383         ATTRIBUTE12 = l_def_tve_rec.attribute12,
2384         ATTRIBUTE13 = l_def_tve_rec.attribute13,
2385         ATTRIBUTE14 = l_def_tve_rec.attribute14,
2386         ATTRIBUTE15 = l_def_tve_rec.attribute15
2387     WHERE ID = l_def_tve_rec.id;
2388     x_tve_rec := l_def_tve_rec;
2389     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2390   EXCEPTION
2391     WHEN OKC_API.G_EXCEPTION_ERROR THEN
2392       x_return_status := OKC_API.HANDLE_EXCEPTIONS
2393       (
2394         l_api_name,
2395         G_PKG_NAME,
2396         'OKC_API.G_RET_STS_ERROR',
2397         x_msg_count,
2398         x_msg_data,
2399         '_PVT'
2400       );
2401     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2402       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2403       (
2404         l_api_name,
2405         G_PKG_NAME,
2406         'OKC_API.G_RET_STS_UNEXP_ERROR',
2407         x_msg_count,
2408         x_msg_data,
2409         '_PVT'
2410       );
2411     WHEN OTHERS THEN
2412       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2413       (
2414         l_api_name,
2415         G_PKG_NAME,
2416         'OTHERS',
2417         x_msg_count,
2418         x_msg_data,
2419         '_PVT'
2420       );
2421   END update_row;
2422   --------------------------------------
2423   -- update_row for:OKC_TIMEVALUES_TL --
2424   --------------------------------------
2425 --Bug 3122962
2426 /*
2427   PROCEDURE update_row(
2428     p_init_msg_list                IN VARCHAR2 ,
2429     x_return_status                OUT NOCOPY VARCHAR2,
2430     x_msg_count                    OUT NOCOPY NUMBER,
2431     x_msg_data                     OUT NOCOPY VARCHAR2,
2432     p_okc_timevalues_tl_rec        IN okc_timevalues_tl_rec_type,
2433     x_okc_timevalues_tl_rec        OUT NOCOPY okc_timevalues_tl_rec_type) IS
2434 
2435     l_api_version                 CONSTANT NUMBER := 1;
2436     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_update_row';
2437     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2438     l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type := p_okc_timevalues_tl_rec;
2439     l_def_okc_timevalues_tl_rec    okc_timevalues_tl_rec_type;
2440     l_row_notfound                 BOOLEAN := TRUE;
2441     ----------------------------------
2442     -- FUNCTION populate_new_record --
2443     ----------------------------------
2444     FUNCTION populate_new_record (
2445       p_okc_timevalues_tl_rec	IN okc_timevalues_tl_rec_type,
2446       x_okc_timevalues_tl_rec	OUT NOCOPY okc_timevalues_tl_rec_type
2447     ) RETURN VARCHAR2 IS
2448       l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
2449       l_row_notfound                 BOOLEAN := TRUE;
2450       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2451     BEGIN
2452       x_okc_timevalues_tl_rec := p_okc_timevalues_tl_rec;
2453       -- Get current database values
2454       l_okc_timevalues_tl_rec := get_rec(p_okc_timevalues_tl_rec, l_row_notfound);
2455       IF (l_row_notfound) THEN
2456         l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2457       END IF;
2458       IF (x_okc_timevalues_tl_rec.id = OKC_API.G_MISS_NUM)
2459       THEN
2460         x_okc_timevalues_tl_rec.id := l_okc_timevalues_tl_rec.id;
2461       END IF;
2462       IF (x_okc_timevalues_tl_rec.language = OKC_API.G_MISS_CHAR)
2463       THEN
2464         x_okc_timevalues_tl_rec.language := l_okc_timevalues_tl_rec.language;
2465       END IF;
2466       IF (x_okc_timevalues_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
2467       THEN
2468         x_okc_timevalues_tl_rec.source_lang := l_okc_timevalues_tl_rec.source_lang;
2469       END IF;
2470       IF (x_okc_timevalues_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
2471       THEN
2472         x_okc_timevalues_tl_rec.sfwt_flag := l_okc_timevalues_tl_rec.sfwt_flag;
2473       END IF;
2474       IF (x_okc_timevalues_tl_rec.description = OKC_API.G_MISS_CHAR)
2475       THEN
2476         x_okc_timevalues_tl_rec.description := l_okc_timevalues_tl_rec.description;
2477       END IF;
2478       IF (x_okc_timevalues_tl_rec.short_description = OKC_API.G_MISS_CHAR)
2479       THEN
2480         x_okc_timevalues_tl_rec.short_description := l_okc_timevalues_tl_rec.short_description;
2481       END IF;
2482       IF (x_okc_timevalues_tl_rec.comments = OKC_API.G_MISS_CHAR)
2483       THEN
2484         x_okc_timevalues_tl_rec.comments := l_okc_timevalues_tl_rec.comments;
2485       END IF;
2486       IF (x_okc_timevalues_tl_rec.name = OKC_API.G_MISS_CHAR)
2487       THEN
2488         x_okc_timevalues_tl_rec.name := l_okc_timevalues_tl_rec.name;
2489       END IF;
2490       IF (x_okc_timevalues_tl_rec.created_by = OKC_API.G_MISS_NUM)
2491       THEN
2492         x_okc_timevalues_tl_rec.created_by := l_okc_timevalues_tl_rec.created_by;
2493       END IF;
2494       IF (x_okc_timevalues_tl_rec.creation_date = OKC_API.G_MISS_DATE)
2495       THEN
2499       THEN
2496         x_okc_timevalues_tl_rec.creation_date := l_okc_timevalues_tl_rec.creation_date;
2497       END IF;
2498       IF (x_okc_timevalues_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
2500         x_okc_timevalues_tl_rec.last_updated_by := l_okc_timevalues_tl_rec.last_updated_by;
2501       END IF;
2502       IF (x_okc_timevalues_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
2503       THEN
2504         x_okc_timevalues_tl_rec.last_update_date := l_okc_timevalues_tl_rec.last_update_date;
2505       END IF;
2506       IF (x_okc_timevalues_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
2507       THEN
2508         x_okc_timevalues_tl_rec.last_update_login := l_okc_timevalues_tl_rec.last_update_login;
2509       END IF;
2510       RETURN(l_return_status);
2511     END populate_new_record;
2512     ------------------------------------------
2513     -- Set_Attributes for:OKC_TIMEVALUES_TL --
2514     ------------------------------------------
2515     FUNCTION Set_Attributes (
2516       p_okc_timevalues_tl_rec IN  okc_timevalues_tl_rec_type,
2517       x_okc_timevalues_tl_rec OUT NOCOPY okc_timevalues_tl_rec_type
2518     ) RETURN VARCHAR2 IS
2519       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2520     BEGIN
2521       x_okc_timevalues_tl_rec := p_okc_timevalues_tl_rec;
2522       x_okc_timevalues_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
2523       x_okc_timevalues_tl_rec.SOURCE_LANG := okc_util.get_userenv_lang;
2524       RETURN(l_return_status);
2525     END Set_Attributes;
2526   BEGIN
2527     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2528                                               p_init_msg_list,
2529                                               '_PVT',
2530                                               x_return_status);
2531     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2532       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2533     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2534       RAISE OKC_API.G_EXCEPTION_ERROR;
2535     END IF;
2536     --- Setting item attributes
2537     l_return_status := Set_Attributes(
2538       p_okc_timevalues_tl_rec,           -- IN
2539       l_okc_timevalues_tl_rec);          -- OUT
2540     --- If any errors happen abort API
2541     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2542       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2543     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2544       RAISE OKC_API.G_EXCEPTION_ERROR;
2545     END IF;
2546     l_return_status := populate_new_record(l_okc_timevalues_tl_rec, l_def_okc_timevalues_tl_rec);
2547     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2548       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2549     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2550       RAISE OKC_API.G_EXCEPTION_ERROR;
2551     END IF;
2552     UPDATE  OKC_TIMEVALUES_TL
2553     SET DESCRIPTION = l_def_okc_timevalues_tl_rec.description,
2554         SHORT_DESCRIPTION = l_def_okc_timevalues_tl_rec.short_description,
2555         COMMENTS = l_def_okc_timevalues_tl_rec.comments,
2556         NAME = l_def_okc_timevalues_tl_rec.name,
2557         CREATED_BY = l_def_okc_timevalues_tl_rec.created_by,
2558         CREATION_DATE = l_def_okc_timevalues_tl_rec.creation_date,
2559         LAST_UPDATED_BY = l_def_okc_timevalues_tl_rec.last_updated_by,
2560         LAST_UPDATE_DATE = l_def_okc_timevalues_tl_rec.last_update_date,
2561         LAST_UPDATE_LOGIN = l_def_okc_timevalues_tl_rec.last_update_login
2562     WHERE ID = l_def_okc_timevalues_tl_rec.id
2563       AND USERENV('LANG') IN (SOURCE_LANG,LANGUAGE);
2564 
2565     UPDATE  OKC_TIMEVALUES_TL
2566     SET SFWT_FLAG = 'Y'
2567     WHERE ID = l_def_okc_timevalues_tl_rec.id
2568       AND SOURCE_LANG <> USERENV('LANG');
2569     x_okc_timevalues_tl_rec := l_def_okc_timevalues_tl_rec;
2570     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2571   EXCEPTION
2572     WHEN OKC_API.G_EXCEPTION_ERROR THEN
2573       x_return_status := OKC_API.HANDLE_EXCEPTIONS
2574       (
2575         l_api_name,
2576         G_PKG_NAME,
2577         'OKC_API.G_RET_STS_ERROR',
2578         x_msg_count,
2579         x_msg_data,
2580         '_PVT'
2581       );
2582     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2583       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2584       (
2585         l_api_name,
2586         G_PKG_NAME,
2587         'OKC_API.G_RET_STS_UNEXP_ERROR',
2588         x_msg_count,
2589         x_msg_data,
2590         '_PVT'
2591       );
2592     WHEN OTHERS THEN
2593       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2594       (
2595         l_api_name,
2596         G_PKG_NAME,
2597         'OTHERS',
2598         x_msg_count,
2599         x_msg_data,
2600         '_PVT'
2601       );
2602   END update_row;
2603 */
2604   -------------------------------------
2605   -- update_row for:OKC_TIME_CYCLE_V --
2606   -------------------------------------
2607   PROCEDURE update_row(
2608     p_api_version                  IN NUMBER,
2609     p_init_msg_list                IN VARCHAR2 ,
2610     x_return_status                OUT NOCOPY VARCHAR2,
2611     x_msg_count                    OUT NOCOPY NUMBER,
2612     x_msg_data                     OUT NOCOPY VARCHAR2,
2613     p_cylv_rec                     IN cylv_rec_type,
2614     x_cylv_rec                     OUT NOCOPY cylv_rec_type) IS
2615 
2616     l_api_version                 CONSTANT NUMBER := 1;
2617     l_api_name                     CONSTANT VARCHAR2(30) := 'V_update_row';
2621 --Bug 3122962    l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
2618     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2619     l_cylv_rec                     cylv_rec_type := p_cylv_rec;
2620     l_def_cylv_rec                 cylv_rec_type;
2622 --Bug 3122962    lx_okc_timevalues_tl_rec       okc_timevalues_tl_rec_type;
2623     l_tve_rec                      tve_rec_type;
2624     lx_tve_rec                     tve_rec_type;
2625     -------------------------------
2626     -- FUNCTION fill_who_columns --
2627     -------------------------------
2628     FUNCTION fill_who_columns (
2629       p_cylv_rec	IN cylv_rec_type
2630     ) RETURN cylv_rec_type IS
2631       l_cylv_rec	cylv_rec_type := p_cylv_rec;
2632     BEGIN
2633       l_cylv_rec.LAST_UPDATE_DATE := SYSDATE;
2634       l_cylv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
2635       l_cylv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
2636       RETURN(l_cylv_rec);
2637     END fill_who_columns;
2638     ----------------------------------
2639     -- FUNCTION populate_new_record --
2640     ----------------------------------
2641     FUNCTION populate_new_record (
2642       p_cylv_rec	IN cylv_rec_type,
2643       x_cylv_rec	OUT NOCOPY cylv_rec_type
2644     ) RETURN VARCHAR2 IS
2645       l_cylv_rec                     cylv_rec_type;
2646       l_row_notfound                 BOOLEAN := TRUE;
2647       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2648     BEGIN
2649       x_cylv_rec := p_cylv_rec;
2650       -- Get current database values
2651       l_cylv_rec := get_rec(p_cylv_rec, l_row_notfound);
2652       IF (l_row_notfound) THEN
2653         l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2654       END IF;
2655       IF (x_cylv_rec.id = OKC_API.G_MISS_NUM)
2656       THEN
2657         x_cylv_rec.id := l_cylv_rec.id;
2658       END IF;
2659       IF (x_cylv_rec.object_version_number = OKC_API.G_MISS_NUM)
2660       THEN
2661         x_cylv_rec.object_version_number := l_cylv_rec.object_version_number;
2662       END IF;
2663 /*      IF (x_cylv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
2664       THEN
2665         x_cylv_rec.sfwt_flag := l_cylv_rec.sfwt_flag;
2666       END IF;
2667 */
2668       IF (x_cylv_rec.spn_id = OKC_API.G_MISS_NUM)
2669       THEN
2670         x_cylv_rec.spn_id := l_cylv_rec.spn_id;
2671       END IF;
2672       IF (x_cylv_rec.tve_id_limited = OKC_API.G_MISS_NUM)
2673       THEN
2674         x_cylv_rec.tve_id_limited := l_cylv_rec.tve_id_limited;
2675       END IF;
2676       IF (x_cylv_rec.dnz_chr_id = OKC_API.G_MISS_NUM)
2677       THEN
2678         x_cylv_rec.dnz_chr_id := l_cylv_rec.dnz_chr_id;
2679       END IF;
2680       IF (x_cylv_rec.tze_id = OKC_API.G_MISS_NUM)
2681       THEN
2682         x_cylv_rec.tze_id := l_cylv_rec.tze_id;
2683       END IF;
2684       IF (x_cylv_rec.description = OKC_API.G_MISS_CHAR)
2685       THEN
2686         x_cylv_rec.description := l_cylv_rec.description;
2687       END IF;
2688       IF (x_cylv_rec.short_description = OKC_API.G_MISS_CHAR)
2689       THEN
2690         x_cylv_rec.short_description := l_cylv_rec.short_description;
2691       END IF;
2692       IF (x_cylv_rec.comments = OKC_API.G_MISS_CHAR)
2693       THEN
2694         x_cylv_rec.comments := l_cylv_rec.comments;
2695       END IF;
2696       IF (x_cylv_rec.name = OKC_API.G_MISS_CHAR)
2697       THEN
2698         x_cylv_rec.name := l_cylv_rec.name;
2699       END IF;
2700       IF (x_cylv_rec.interval_yn = OKC_API.G_MISS_CHAR)
2701       THEN
2702         x_cylv_rec.interval_yn := l_cylv_rec.interval_yn;
2703       END IF;
2704       IF (x_cylv_rec.attribute_category = OKC_API.G_MISS_CHAR)
2705       THEN
2706         x_cylv_rec.attribute_category := l_cylv_rec.attribute_category;
2707       END IF;
2708       IF (x_cylv_rec.attribute1 = OKC_API.G_MISS_CHAR)
2709       THEN
2710         x_cylv_rec.attribute1 := l_cylv_rec.attribute1;
2711       END IF;
2712       IF (x_cylv_rec.attribute2 = OKC_API.G_MISS_CHAR)
2713       THEN
2714         x_cylv_rec.attribute2 := l_cylv_rec.attribute2;
2715       END IF;
2716       IF (x_cylv_rec.attribute3 = OKC_API.G_MISS_CHAR)
2717       THEN
2718         x_cylv_rec.attribute3 := l_cylv_rec.attribute3;
2719       END IF;
2720       IF (x_cylv_rec.attribute4 = OKC_API.G_MISS_CHAR)
2721       THEN
2722         x_cylv_rec.attribute4 := l_cylv_rec.attribute4;
2723       END IF;
2724       IF (x_cylv_rec.attribute5 = OKC_API.G_MISS_CHAR)
2725       THEN
2726         x_cylv_rec.attribute5 := l_cylv_rec.attribute5;
2727       END IF;
2728       IF (x_cylv_rec.attribute6 = OKC_API.G_MISS_CHAR)
2729       THEN
2730         x_cylv_rec.attribute6 := l_cylv_rec.attribute6;
2731       END IF;
2732       IF (x_cylv_rec.attribute7 = OKC_API.G_MISS_CHAR)
2733       THEN
2734         x_cylv_rec.attribute7 := l_cylv_rec.attribute7;
2735       END IF;
2736       IF (x_cylv_rec.attribute8 = OKC_API.G_MISS_CHAR)
2737       THEN
2738         x_cylv_rec.attribute8 := l_cylv_rec.attribute8;
2739       END IF;
2740       IF (x_cylv_rec.attribute9 = OKC_API.G_MISS_CHAR)
2741       THEN
2742         x_cylv_rec.attribute9 := l_cylv_rec.attribute9;
2743       END IF;
2744       IF (x_cylv_rec.attribute10 = OKC_API.G_MISS_CHAR)
2745       THEN
2746         x_cylv_rec.attribute10 := l_cylv_rec.attribute10;
2747       END IF;
2748       IF (x_cylv_rec.attribute11 = OKC_API.G_MISS_CHAR)
2749       THEN
2753       THEN
2750         x_cylv_rec.attribute11 := l_cylv_rec.attribute11;
2751       END IF;
2752       IF (x_cylv_rec.attribute12 = OKC_API.G_MISS_CHAR)
2754         x_cylv_rec.attribute12 := l_cylv_rec.attribute12;
2755       END IF;
2756       IF (x_cylv_rec.attribute13 = OKC_API.G_MISS_CHAR)
2757       THEN
2758         x_cylv_rec.attribute13 := l_cylv_rec.attribute13;
2759       END IF;
2760       IF (x_cylv_rec.attribute14 = OKC_API.G_MISS_CHAR)
2761       THEN
2762         x_cylv_rec.attribute14 := l_cylv_rec.attribute14;
2763       END IF;
2764       IF (x_cylv_rec.attribute15 = OKC_API.G_MISS_CHAR)
2765       THEN
2766         x_cylv_rec.attribute15 := l_cylv_rec.attribute15;
2767       END IF;
2768       IF (x_cylv_rec.created_by = OKC_API.G_MISS_NUM)
2769       THEN
2770         x_cylv_rec.created_by := l_cylv_rec.created_by;
2771       END IF;
2772       IF (x_cylv_rec.creation_date = OKC_API.G_MISS_DATE)
2773       THEN
2774         x_cylv_rec.creation_date := l_cylv_rec.creation_date;
2775       END IF;
2776       IF (x_cylv_rec.last_updated_by = OKC_API.G_MISS_NUM)
2777       THEN
2778         x_cylv_rec.last_updated_by := l_cylv_rec.last_updated_by;
2779       END IF;
2780       IF (x_cylv_rec.last_update_date = OKC_API.G_MISS_DATE)
2781       THEN
2782         x_cylv_rec.last_update_date := l_cylv_rec.last_update_date;
2783       END IF;
2784       IF (x_cylv_rec.last_update_login = OKC_API.G_MISS_NUM)
2785       THEN
2786         x_cylv_rec.last_update_login := l_cylv_rec.last_update_login;
2787       END IF;
2788       RETURN(l_return_status);
2789     END populate_new_record;
2790     -----------------------------------------
2791     -- Set_Attributes for:OKC_TIME_CYCLE_V --
2792     -----------------------------------------
2793     FUNCTION Set_Attributes (
2794       p_cylv_rec IN  cylv_rec_type,
2795       x_cylv_rec OUT NOCOPY cylv_rec_type
2796     ) RETURN VARCHAR2 IS
2797       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2798     BEGIN
2799       x_cylv_rec := p_cylv_rec;
2800 -- **** Added the following line(s) for uppercasing *****
2801 --      x_cylv_rec.SFWT_FLAG := upper(p_cylv_rec.SFWT_FLAG);
2802       x_cylv_rec.OBJECT_VERSION_NUMBER := NVL(x_cylv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
2803       RETURN(l_return_status);
2804     END Set_Attributes;
2805   BEGIN
2806     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2807                                               G_PKG_NAME,
2808                                               p_init_msg_list,
2809                                               l_api_version,
2810                                               p_api_version,
2811                                               '_PVT',
2812                                               x_return_status);
2813     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2814       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2815     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2816       RAISE OKC_API.G_EXCEPTION_ERROR;
2817     END IF;
2818     --- Setting item attributes
2819     l_return_status := Set_Attributes(
2820       p_cylv_rec,                        -- IN
2821       l_cylv_rec);                       -- OUT
2822     --- If any errors happen abort API
2823     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2824       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2825     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2826       RAISE OKC_API.G_EXCEPTION_ERROR;
2827     END IF;
2828     l_return_status := populate_new_record(l_cylv_rec, l_def_cylv_rec);
2829     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2830       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2831     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2832       RAISE OKC_API.G_EXCEPTION_ERROR;
2833     END IF;
2834     l_def_cylv_rec := fill_who_columns(l_def_cylv_rec);
2835     --- Validate all non-missing attributes (Item Level Validation)
2836     l_return_status := Validate_Attributes(l_def_cylv_rec);
2837     --- If any errors happen abort API
2838     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2839       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2840     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2841       RAISE OKC_API.G_EXCEPTION_ERROR;
2842     END IF;
2843     l_return_status := Validate_Record(l_def_cylv_rec);
2844     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2845       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2846     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2847       RAISE OKC_API.G_EXCEPTION_ERROR;
2848     END IF;
2849 
2850     --------------------------------------
2851     -- Move VIEW record to "Child" records
2852     --------------------------------------
2853 --Bug 3122962    migrate(l_def_cylv_rec, l_okc_timevalues_tl_rec);
2854     migrate(l_def_cylv_rec, l_tve_rec);
2855     --------------------------------------------
2856     -- Call the UPDATE_ROW for each child record
2857     --------------------------------------------
2858 /*    update_row(
2859       p_init_msg_list,
2860       x_return_status,
2861       x_msg_count,
2862       x_msg_data,
2863       l_okc_timevalues_tl_rec,
2864       lx_okc_timevalues_tl_rec
2865     );
2866     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2867       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2868     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2869       RAISE OKC_API.G_EXCEPTION_ERROR;
2873     update_row(
2870     END IF;
2871     migrate(lx_okc_timevalues_tl_rec, l_def_cylv_rec);
2872 */
2874       p_init_msg_list,
2875       x_return_status,
2876       x_msg_count,
2877       x_msg_data,
2878       l_tve_rec,
2879       lx_tve_rec
2880     );
2881     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2882       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2883     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2884       RAISE OKC_API.G_EXCEPTION_ERROR;
2885     END IF;
2886     migrate(lx_tve_rec, l_def_cylv_rec);
2887     x_cylv_rec := l_def_cylv_rec;
2888     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2889   EXCEPTION
2890     WHEN OKC_API.G_EXCEPTION_ERROR THEN
2891       x_return_status := OKC_API.HANDLE_EXCEPTIONS
2892       (
2893         l_api_name,
2894         G_PKG_NAME,
2895         'OKC_API.G_RET_STS_ERROR',
2896         x_msg_count,
2897         x_msg_data,
2898         '_PVT'
2899       );
2900     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2901       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2902       (
2903         l_api_name,
2904         G_PKG_NAME,
2905         'OKC_API.G_RET_STS_UNEXP_ERROR',
2906         x_msg_count,
2907         x_msg_data,
2908         '_PVT'
2909       );
2910     WHEN OTHERS THEN
2911       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2912       (
2913         l_api_name,
2914         G_PKG_NAME,
2915         'OTHERS',
2916         x_msg_count,
2917         x_msg_data,
2918         '_PVT'
2919       );
2920   END update_row;
2921   ----------------------------------------
2922   -- PL/SQL TBL update_row for:CYLV_TBL --
2923   ----------------------------------------
2924   PROCEDURE update_row(
2925     p_api_version                  IN NUMBER,
2926     p_init_msg_list                IN VARCHAR2 ,
2927     x_return_status                OUT NOCOPY VARCHAR2,
2928     x_msg_count                    OUT NOCOPY NUMBER,
2929     x_msg_data                     OUT NOCOPY VARCHAR2,
2930     p_cylv_tbl                     IN cylv_tbl_type,
2931     x_cylv_tbl                     OUT NOCOPY cylv_tbl_type) IS
2932 
2933     l_api_version                 CONSTANT NUMBER := 1;
2934     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
2935     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2936     i                              NUMBER := 0;
2937   BEGIN
2938     -- Make sure PL/SQL table has records in it before passing
2939     IF (p_cylv_tbl.COUNT > 0) THEN
2940       i := p_cylv_tbl.FIRST;
2941       LOOP
2942         update_row (
2943           p_api_version                  => p_api_version,
2944           p_init_msg_list                => p_init_msg_list,
2945           x_return_status                => x_return_status,
2946           x_msg_count                    => x_msg_count,
2947           x_msg_data                     => x_msg_data,
2948           p_cylv_rec                     => p_cylv_tbl(i),
2949           x_cylv_rec                     => x_cylv_tbl(i));
2950         EXIT WHEN (i = p_cylv_tbl.LAST);
2951         i := p_cylv_tbl.NEXT(i);
2952       END LOOP;
2953     END IF;
2954   EXCEPTION
2955     WHEN OKC_API.G_EXCEPTION_ERROR THEN
2956       x_return_status := OKC_API.HANDLE_EXCEPTIONS
2957       (
2958         l_api_name,
2959         G_PKG_NAME,
2960         'OKC_API.G_RET_STS_ERROR',
2961         x_msg_count,
2962         x_msg_data,
2963         '_PVT'
2964       );
2965     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2966       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2967       (
2968         l_api_name,
2969         G_PKG_NAME,
2970         'OKC_API.G_RET_STS_UNEXP_ERROR',
2971         x_msg_count,
2972         x_msg_data,
2973         '_PVT'
2974       );
2975     WHEN OTHERS THEN
2976       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
2977       (
2978         l_api_name,
2979         G_PKG_NAME,
2980         'OTHERS',
2981         x_msg_count,
2982         x_msg_data,
2983         '_PVT'
2984       );
2985   END update_row;
2986 
2987   ---------------------------------------------------------------------------
2988   -- PROCEDURE delete_row
2989   ---------------------------------------------------------------------------
2990   -------------------------------------
2991   -- delete_row for:OKC_TIMEVALUES_B --
2992   -------------------------------------
2993   PROCEDURE delete_row(
2994     p_init_msg_list                IN VARCHAR2 ,
2995     x_return_status                OUT NOCOPY VARCHAR2,
2996     x_msg_count                    OUT NOCOPY NUMBER,
2997     x_msg_data                     OUT NOCOPY VARCHAR2,
2998     p_tve_rec                      IN tve_rec_type) IS
2999 
3000     l_api_version                 CONSTANT NUMBER := 1;
3001     l_api_name                     CONSTANT VARCHAR2(30) := 'B_delete_row';
3002     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3003     l_tve_rec                      tve_rec_type:= p_tve_rec;
3004     l_row_notfound                 BOOLEAN := TRUE;
3005   BEGIN
3006     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3007                                               p_init_msg_list,
3008                                               '_PVT',
3009                                               x_return_status);
3013       RAISE OKC_API.G_EXCEPTION_ERROR;
3010     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3011       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3012     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3014     END IF;
3015 --Bug 3122962
3016     DELETE FROM OKC_TIMEVALUES
3017      WHERE ID = l_tve_rec.id;
3018 
3019     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3020   EXCEPTION
3021     WHEN OKC_API.G_EXCEPTION_ERROR THEN
3022       x_return_status := OKC_API.HANDLE_EXCEPTIONS
3023       (
3024         l_api_name,
3025         G_PKG_NAME,
3026         'OKC_API.G_RET_STS_ERROR',
3027         x_msg_count,
3028         x_msg_data,
3029         '_PVT'
3030       );
3031     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3032       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3033       (
3034         l_api_name,
3035         G_PKG_NAME,
3036         'OKC_API.G_RET_STS_UNEXP_ERROR',
3037         x_msg_count,
3038         x_msg_data,
3039         '_PVT'
3040       );
3041     WHEN OTHERS THEN
3042       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3043       (
3044         l_api_name,
3045         G_PKG_NAME,
3046         'OTHERS',
3047         x_msg_count,
3048         x_msg_data,
3049         '_PVT'
3050       );
3051   END delete_row;
3052   --------------------------------------
3053   -- delete_row for:OKC_TIMEVALUES_TL --
3054   --------------------------------------
3055 /*  PROCEDURE delete_row(
3056     p_init_msg_list                IN VARCHAR2 ,
3057     x_return_status                OUT NOCOPY VARCHAR2,
3058     x_msg_count                    OUT NOCOPY NUMBER,
3059     x_msg_data                     OUT NOCOPY VARCHAR2,
3060     p_okc_timevalues_tl_rec        IN okc_timevalues_tl_rec_type) IS
3061 
3062     l_api_version                 CONSTANT NUMBER := 1;
3063     l_api_name                     CONSTANT VARCHAR2(30) := 'TL_delete_row';
3064     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3065     l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type:= p_okc_timevalues_tl_rec;
3066     l_row_notfound                 BOOLEAN := TRUE;
3067     ------------------------------------------
3068     -- Set_Attributes for:OKC_TIMEVALUES_TL --
3069     ------------------------------------------
3070     FUNCTION Set_Attributes (
3071       p_okc_timevalues_tl_rec IN  okc_timevalues_tl_rec_type,
3072       x_okc_timevalues_tl_rec OUT NOCOPY okc_timevalues_tl_rec_type
3073     ) RETURN VARCHAR2 IS
3074       l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3075     BEGIN
3076       x_okc_timevalues_tl_rec := p_okc_timevalues_tl_rec;
3077       x_okc_timevalues_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
3078       RETURN(l_return_status);
3079     END Set_Attributes;
3080   BEGIN
3081     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3082                                               p_init_msg_list,
3083                                               '_PVT',
3084                                               x_return_status);
3085     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3086       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3087     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3088       RAISE OKC_API.G_EXCEPTION_ERROR;
3089     END IF;
3090     --- Setting item attributes
3091     l_return_status := Set_Attributes(
3092       p_okc_timevalues_tl_rec,           -- IN
3093       l_okc_timevalues_tl_rec);          -- OUT
3094     --- If any errors happen abort API
3095     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3096       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3097     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3098       RAISE OKC_API.G_EXCEPTION_ERROR;
3099     END IF;
3100     DELETE FROM OKC_TIMEVALUES_TL
3101      WHERE ID = l_okc_timevalues_tl_rec.id;
3102 
3103     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3104   EXCEPTION
3105     WHEN OKC_API.G_EXCEPTION_ERROR THEN
3106       x_return_status := OKC_API.HANDLE_EXCEPTIONS
3107       (
3108         l_api_name,
3109         G_PKG_NAME,
3110         'OKC_API.G_RET_STS_ERROR',
3111         x_msg_count,
3112         x_msg_data,
3113         '_PVT'
3114       );
3115     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3116       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3117       (
3118         l_api_name,
3119         G_PKG_NAME,
3120         'OKC_API.G_RET_STS_UNEXP_ERROR',
3121         x_msg_count,
3122         x_msg_data,
3123         '_PVT'
3124       );
3125     WHEN OTHERS THEN
3126       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3127       (
3128         l_api_name,
3129         G_PKG_NAME,
3130         'OTHERS',
3131         x_msg_count,
3132         x_msg_data,
3133         '_PVT'
3134       );
3135   END delete_row;
3136 */
3137   -------------------------------------
3138   -- delete_row for:OKC_TIME_CYCLE_V --
3139   -------------------------------------
3140   PROCEDURE delete_row(
3141     p_api_version                  IN NUMBER,
3142     p_init_msg_list                IN VARCHAR2 ,
3143     x_return_status                OUT NOCOPY VARCHAR2,
3144     x_msg_count                    OUT NOCOPY NUMBER,
3145     x_msg_data                     OUT NOCOPY VARCHAR2,
3146     p_cylv_rec                     IN cylv_rec_type) IS
3147 
3151     l_cylv_rec                     cylv_rec_type := p_cylv_rec;
3148     l_api_version                 CONSTANT NUMBER := 1;
3149     l_api_name                     CONSTANT VARCHAR2(30) := 'V_delete_row';
3150     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3152 --Bug 3122962    l_okc_timevalues_tl_rec        okc_timevalues_tl_rec_type;
3153     l_tve_rec                      tve_rec_type;
3154   BEGIN
3155     l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3156                                               G_PKG_NAME,
3157                                               p_init_msg_list,
3158                                               l_api_version,
3159                                               p_api_version,
3160                                               '_PVT',
3161                                               x_return_status);
3162     IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3163       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3164     ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3165       RAISE OKC_API.G_EXCEPTION_ERROR;
3166     END IF;
3167     --------------------------------------
3168     -- Move VIEW record to "Child" records
3169     --------------------------------------
3170 --Bug 3122962    migrate(l_cylv_rec, l_okc_timevalues_tl_rec);
3171     migrate(l_cylv_rec, l_tve_rec);
3172     --------------------------------------------
3173     -- Call the DELETE_ROW for each child record
3174     --------------------------------------------
3175 /*    delete_row(
3176       p_init_msg_list,
3177       x_return_status,
3178       x_msg_count,
3179       x_msg_data,
3180       l_okc_timevalues_tl_rec
3181     );
3182     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3183       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3184     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3185       RAISE OKC_API.G_EXCEPTION_ERROR;
3186     END IF;
3187 */
3188     delete_row(
3189       p_init_msg_list,
3190       x_return_status,
3191       x_msg_count,
3192       x_msg_data,
3193       l_tve_rec
3194     );
3195     IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3196       RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3197     ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3198       RAISE OKC_API.G_EXCEPTION_ERROR;
3199     END IF;
3200     OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3201   EXCEPTION
3202     WHEN OKC_API.G_EXCEPTION_ERROR THEN
3203       x_return_status := OKC_API.HANDLE_EXCEPTIONS
3204       (
3205         l_api_name,
3206         G_PKG_NAME,
3207         'OKC_API.G_RET_STS_ERROR',
3208         x_msg_count,
3209         x_msg_data,
3210         '_PVT'
3211       );
3212     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3213       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3214       (
3215         l_api_name,
3216         G_PKG_NAME,
3217         'OKC_API.G_RET_STS_UNEXP_ERROR',
3218         x_msg_count,
3219         x_msg_data,
3220         '_PVT'
3221       );
3222     WHEN OTHERS THEN
3223       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3224       (
3225         l_api_name,
3226         G_PKG_NAME,
3227         'OTHERS',
3228         x_msg_count,
3229         x_msg_data,
3230         '_PVT'
3231       );
3232   END delete_row;
3233   ----------------------------------------
3234   -- PL/SQL TBL delete_row for:CYLV_TBL --
3235   ----------------------------------------
3236   PROCEDURE delete_row(
3237     p_api_version                  IN NUMBER,
3238     p_init_msg_list                IN VARCHAR2 ,
3239     x_return_status                OUT NOCOPY VARCHAR2,
3240     x_msg_count                    OUT NOCOPY NUMBER,
3241     x_msg_data                     OUT NOCOPY VARCHAR2,
3242     p_cylv_tbl                     IN cylv_tbl_type) IS
3243 
3244     l_api_version                 CONSTANT NUMBER := 1;
3245     l_api_name                     CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
3246     l_return_status                VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3247     i                              NUMBER := 0;
3248   BEGIN
3249     -- Make sure PL/SQL table has records in it before passing
3250     IF (p_cylv_tbl.COUNT > 0) THEN
3251       i := p_cylv_tbl.FIRST;
3252       LOOP
3253         delete_row (
3254           p_api_version                  => p_api_version,
3255           p_init_msg_list                => p_init_msg_list,
3256           x_return_status                => x_return_status,
3257           x_msg_count                    => x_msg_count,
3258           x_msg_data                     => x_msg_data,
3259           p_cylv_rec                     => p_cylv_tbl(i));
3260         EXIT WHEN (i = p_cylv_tbl.LAST);
3261         i := p_cylv_tbl.NEXT(i);
3262       END LOOP;
3263     END IF;
3264   EXCEPTION
3265     WHEN OKC_API.G_EXCEPTION_ERROR THEN
3266       x_return_status := OKC_API.HANDLE_EXCEPTIONS
3267       (
3268         l_api_name,
3269         G_PKG_NAME,
3270         'OKC_API.G_RET_STS_ERROR',
3271         x_msg_count,
3272         x_msg_data,
3273         '_PVT'
3274       );
3275     WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3276       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3277       (
3278         l_api_name,
3279         G_PKG_NAME,
3280         'OKC_API.G_RET_STS_UNEXP_ERROR',
3281         x_msg_count,
3282         x_msg_data,
3283         '_PVT'
3284       );
3285     WHEN OTHERS THEN
3286       x_return_status :=OKC_API.HANDLE_EXCEPTIONS
3287       (
3288         l_api_name,
3289         G_PKG_NAME,
3290         'OTHERS',
3291         x_msg_count,
3292         x_msg_data,
3293         '_PVT'
3294       );
3295   END delete_row;
3296 
3297 END OKC_CYL_PVT;