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