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