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