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