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