[Home] [Help]
PACKAGE BODY: APPS.OKC_CHR_PVT
Source
1 PACKAGE BODY OKC_CHR_PVT AS
2 /* $Header: OKCSCHRB.pls 120.8.12020000.2 2012/07/16 16:15:29 harchand ship $ */
3
4 l_application_id NUMBER;
5
6 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'), 'N');
7 ---------------------------------------------------------------------------
8
9 /************************ HAND-CODED *********************************/
10 FUNCTION Validate_Attributes (p_chrv_rec IN chrv_rec_type)
11 RETURN VARCHAR2;
12 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKC_NO_PARENT_RECORD';
13 G_CHILD_RECORD_EXISTS CONSTANT VARCHAR2(200) := 'OKC_CANNOT_DELETE_MASTER';
14 G_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
15 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXPECTED_ERROR';
16 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_MESSAGE';
17 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'ERROR_CODE';
18 G_VIEW CONSTANT VARCHAR2(200) := 'OKC_K_HEADERS_V';
19 G_EXCEPTION_HALT_VALIDATION EXCEPTION;
20 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
21
22 -- Start of comments
23 --
24 -- Procedure Name : validate_contract_number
25 -- Description :
26 -- Business Rules :
27 -- Parameters :
28 -- Version : 1.0
29 -- End of comments
30 PROCEDURE validate_contract_number(x_return_status OUT NOCOPY VARCHAR2,
31 p_chrv_rec IN chrv_rec_type) IS
32
33 BEGIN
34
35 IF (l_debug = 'Y') THEN
36 okc_debug.Set_Indentation('OKC_CHR_PVT');
37 okc_debug.LOG('100: Entered validate_contract_number', 2);
38 END IF;
39
40 -- initialize return status
41 x_return_status := OKC_API.G_RET_STS_SUCCESS;
42
43 -- check that data exists
44 IF (p_chrv_rec.contract_number = OKC_API.G_MISS_CHAR OR
45 p_chrv_rec.contract_number IS NULL)
46 THEN
47 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
48 p_msg_name => g_required_value,
49 p_token1 => g_col_name_token,
50 p_token1_value => 'Contract Number');
51 -- notify caller of an error
52 x_return_status := OKC_API.G_RET_STS_ERROR;
53
54 -- halt validation
55 RAISE G_EXCEPTION_HALT_VALIDATION;
56 END IF;
57
58 IF (l_debug = 'Y') THEN
59 okc_debug.LOG('200: Exiting validate_contract_number', 2);
60 okc_debug.Reset_Indentation;
61 END IF;
62
63
64 EXCEPTION
65 WHEN G_EXCEPTION_HALT_VALIDATION THEN
66
67 IF (l_debug = 'Y') THEN
68 okc_debug.LOG('300: Exiting validate_contract_number:G_EXCEPTION_HALT_VALIDATION Exception', 2);
69 okc_debug.Reset_Indentation;
70 END IF;
71
72 -- no processing necessary; validation can continue with next column
73 NULL;
74
75 WHEN OTHERS THEN
76
77 IF (l_debug = 'Y') THEN
78 okc_debug.LOG('400: Exiting validate_contract_number:OTHERS Exception', 2);
79 okc_debug.Reset_Indentation;
80 END IF;
81
82 -- store SQL error message on message stack
83 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
84 p_msg_name => g_unexpected_error,
85 p_token1 => g_sqlcode_token,
86 p_token1_value => SQLCODE,
87 p_token2 => g_sqlerrm_token,
88 p_token2_value => SQLERRM);
89
90 -- notify caller of an error as UNEXPETED error
91 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
92
93
94 END validate_contract_number;
95
96 -- Start of comments
97 --
98 -- Procedure Name : validate_currency_code
99 -- Description :
100 -- Business Rules :
101 -- Parameters :
102 -- Version : 1.0
103 -- End of comments
104 PROCEDURE validate_currency_code(x_return_status OUT NOCOPY VARCHAR2,
105 p_chrv_rec IN chrv_rec_type) IS
106
107 l_dummy_var VARCHAR2(1) := '?';
108 CURSOR l_fndv_csr IS
109 SELECT 'x'
110 FROM FND_CURRENCIES_VL
111 WHERE currency_code = p_chrv_rec.currency_code
112 AND SYSDATE BETWEEN nvl(start_date_active, SYSDATE)
113 AND nvl(end_date_active, SYSDATE);
114 BEGIN
115
116 IF (l_debug = 'Y') THEN
117 okc_debug.Set_Indentation('OKC_CHR_PVT');
118 okc_debug.LOG('500: Entered validate_currency_code', 2);
119 END IF;
120
121 -- initialize return status
122 x_return_status := OKC_API.G_RET_STS_SUCCESS;
123
124 -- check that data exists
125 IF (p_chrv_rec.currency_code = OKC_API.G_MISS_CHAR OR
126 p_chrv_rec.currency_code IS NULL)
127 THEN
128 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
129 p_msg_name => g_required_value,
130 p_token1 => g_col_name_token,
131 p_token1_value => 'Currency Code');
132 -- notify caller of an error
133 x_return_status := OKC_API.G_RET_STS_ERROR;
134
135 -- halt validation
136 RAISE G_EXCEPTION_HALT_VALIDATION;
137 END IF;
138
139 -- check data is in lookup table
140 OPEN l_fndv_csr;
141 FETCH l_fndv_csr INTO l_dummy_var;
142 CLOSE l_fndv_csr;
143
144 -- if l_dummy_var still set to default, data was not found
145 IF (l_dummy_var = '?') THEN
146 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
147 p_msg_name => g_no_parent_record,
148 p_token1 => g_col_name_token,
149 p_token1_value => 'currency_code',
150 p_token2 => g_child_table_token,
151 p_token2_value => G_VIEW,
152 p_token3 => g_parent_table_token,
153 p_token3_value => 'FND_CURRENCIES');
154 -- notify caller of an error
155 x_return_status := OKC_API.G_RET_STS_ERROR;
156 END IF;
157 IF (l_debug = 'Y') THEN
158 okc_debug.LOG('600: Exiting validate_currency_code', 2);
159 okc_debug.Reset_Indentation;
160 END IF;
161
162
163 EXCEPTION
164 WHEN G_EXCEPTION_HALT_VALIDATION THEN
165
166 IF (l_debug = 'Y') THEN
167 okc_debug.LOG('700: Exiting validate_currency_code:G_EXCEPTION_HALT_VALIDATION Exception', 2);
168 okc_debug.Reset_Indentation;
169 END IF;
170
171 -- no processing necessary; validation can continue with next column
172 NULL;
173
174 WHEN OTHERS THEN
175
176 IF (l_debug = 'Y') THEN
177 okc_debug.LOG('800: Exiting validate_currency_code:OTHERS Exception', 2);
178 okc_debug.Reset_Indentation;
179 END IF;
180
181 -- store SQL error message on message stack
182 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
183 p_msg_name => g_unexpected_error,
184 p_token1 => g_sqlcode_token,
185 p_token1_value => SQLCODE,
186 p_token2 => g_sqlerrm_token,
187 p_token2_value => SQLERRM);
188 -- notify caller of an error as UNEXPETED error
189 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
190
191 -- verify that cursor was closed
192 IF l_fndv_csr%ISOPEN THEN
193 CLOSE l_fndv_csr;
194 END IF;
195
196
197 END validate_currency_code;
198
199 -- Start of comments
200 --
201 -- Procedure Name : validate_sfwt_flag
202 -- Description :
203 -- Business Rules :
204 -- Parameters :
205 -- Version : 1.0
206 -- End of comments
207 PROCEDURE validate_sfwt_flag(x_return_status OUT NOCOPY VARCHAR2,
208 p_chrv_rec IN chrv_rec_type) IS
209
210 BEGIN
211
212 IF (l_debug = 'Y') THEN
213 okc_debug.Set_Indentation('OKC_CHR_PVT');
214 okc_debug.LOG('900: Entered validate_sfwt_flag', 2);
215 END IF;
216
217 -- initialize return status
218 x_return_status := OKC_API.G_RET_STS_SUCCESS;
219
220 -- check that data exists
221 IF (p_chrv_rec.sfwt_flag = OKC_API.G_MISS_CHAR OR
222 p_chrv_rec.sfwt_flag IS NULL)
223 THEN
224 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
225 p_msg_name => g_required_value,
226 p_token1 => g_col_name_token,
227 p_token1_value => 'sfwt_flag');
228 -- notify caller of an error
229 x_return_status := OKC_API.G_RET_STS_ERROR;
230
231 -- halt validation
232 RAISE G_EXCEPTION_HALT_VALIDATION;
233 END IF;
234
235 -- check allowed values
236 IF (upper(p_chrv_rec.sfwt_flag) NOT IN ('Y', 'N')) THEN
237 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
238 p_msg_name => g_invalid_value,
239 p_token1 => g_col_name_token,
240 p_token1_value => 'sfwt_flag');
241 -- notify caller of an error
242 x_return_status := OKC_API.G_RET_STS_ERROR;
243 END IF;
244
245 IF (l_debug = 'Y') THEN
246 okc_debug.LOG('1000: Exiting validate_sfwt_flag', 2);
247 okc_debug.Reset_Indentation;
248 END IF;
249
250
251 EXCEPTION
252 WHEN G_EXCEPTION_HALT_VALIDATION THEN
253
254 IF (l_debug = 'Y') THEN
255 okc_debug.LOG('1100: Exiting validate_sfwt_flag:G_EXCEPTION_HALT_VALIDATION Exception', 2);
256 okc_debug.Reset_Indentation;
257 END IF;
258
259 -- no processing necessary; validation can continue with next column
260 NULL;
261
262 WHEN OTHERS THEN
263
264 IF (l_debug = 'Y') THEN
265 okc_debug.LOG('1200: Exiting validate_sfwt_flag:OTHERS Exception', 2);
266 okc_debug.Reset_Indentation;
267 END IF;
268
269 -- store SQL error message on message stack
270 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
271 p_msg_name => g_unexpected_error,
272 p_token1 => g_sqlcode_token,
273 p_token1_value => SQLCODE,
274 p_token2 => g_sqlerrm_token,
275 p_token2_value => SQLERRM);
276 -- notify caller of an error as UNEXPETED error
277 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
278
279
280 END validate_sfwt_flag;
281
282 -- Start of comments
283 --
284 -- Procedure Name : validate_chr_id_response
285 -- Description :
286 -- Business Rules :
287 -- Parameters :
288 -- Version : 1.0
289 -- End of comments
290 PROCEDURE validate_chr_id_response(x_return_status OUT NOCOPY VARCHAR2,
291 p_chrv_rec IN chrv_rec_type) IS
292
293 l_dummy_var VARCHAR2(1) := '?';
294 CURSOR l_chrv_csr IS
295 SELECT 'x'
296 --npalepu 08-11-2005 modified for bug # 4691662.
297 --Replaced table okc_k_headers_b with headers_All_b table
298 /* FROM OKC_K_HEADERS_B */
299 FROM OKC_K_HEADERS_ALL_B
300 --end npalepu
301 WHERE id = p_chrv_rec.chr_id_response;
302
303 BEGIN
304
305 IF (l_debug = 'Y') THEN
306 okc_debug.Set_Indentation('OKC_CHR_PVT');
307 okc_debug.LOG('1300: Entered validate_chr_id_response', 2);
308 END IF;
309
310 -- initialize return status
311 x_return_status := OKC_API.G_RET_STS_SUCCESS;
312
313 -- enforce foreign key (chr_id_response is optional)
314 IF (p_chrv_rec.chr_id_response <> OKC_API.G_MISS_NUM AND
315 p_chrv_rec.chr_id_response IS NOT NULL)
316 THEN
317 OPEN l_chrv_csr;
318 FETCH l_chrv_csr INTO l_dummy_var;
319 CLOSE l_chrv_csr;
320 -- if l_dummy_var still set to default, data was not found
321 IF (l_dummy_var = '?') THEN
322 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
323 p_msg_name => g_no_parent_record,
324 p_token1 => g_col_name_token,
325 p_token1_value => 'chr_id_response',
326 p_token2 => g_child_table_token,
327 p_token2_value => G_VIEW,
328 p_token3 => g_parent_table_token,
329 p_token3_value => G_VIEW);
330 -- notify caller of an error
331 x_return_status := OKC_API.G_RET_STS_ERROR;
332 END IF;
333 END IF;
334 IF (l_debug = 'Y') THEN
335 okc_debug.LOG('1400: Exiting validate_chr_id_response', 2);
336 okc_debug.Reset_Indentation;
337 END IF;
338
339
340 EXCEPTION
341 WHEN OTHERS THEN
342
343 IF (l_debug = 'Y') THEN
344 okc_debug.LOG('1500: Exiting validate_chr_id_response:OTHERS Exception', 2);
345 okc_debug.Reset_Indentation;
346 END IF;
347
348 -- store SQL error message on message stack
349 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
350 p_msg_name => g_unexpected_error,
351 p_token1 => g_sqlcode_token,
352 p_token1_value => SQLCODE,
353 p_token2 => g_sqlerrm_token,
354 p_token2_value => SQLERRM);
355 -- notify caller of an error as UNEXPETED error
356 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
357
358 -- verify that cursor was closed
359 IF l_chrv_csr%ISOPEN THEN
360 CLOSE l_chrv_csr;
361 END IF;
362
363
364 END validate_chr_id_response;
365
366 -- Start of comments
367 --
368 -- Procedure Name : validate_chr_id_award
369 -- Description :
370 -- Business Rules :
371 -- Parameters :
372 -- Version : 1.0
373 -- End of comments
374 PROCEDURE validate_chr_id_award(x_return_status OUT NOCOPY VARCHAR2,
375 p_chrv_rec IN chrv_rec_type) IS
376
377 l_dummy_var VARCHAR2(1) := '?';
378 CURSOR l_chrv_csr IS
379 SELECT 'x'
380 --npalepu 08-11-2005 modified for bug # 4691662.
381 --Replaced table okc_k_headers_b with headers_All_b table
382 /* FROM OKC_K_HEADERS_B */
383 FROM OKC_K_HEADERS_ALL_B
384 --end npalepu
385 WHERE id = p_chrv_rec.chr_id_award;
386
387 BEGIN
388
389 IF (l_debug = 'Y') THEN
390 okc_debug.Set_Indentation('OKC_CHR_PVT');
391 okc_debug.LOG('1600: Entered validate_chr_id_award', 2);
392 END IF;
393
394 -- initialize return status
395 x_return_status := OKC_API.G_RET_STS_SUCCESS;
396
397 -- enforce foreign key (chr_id_award is optional)
398 IF (p_chrv_rec.chr_id_award <> OKC_API.G_MISS_NUM AND
399 p_chrv_rec.chr_id_award IS NOT NULL)
400 THEN
401 OPEN l_chrv_csr;
402 FETCH l_chrv_csr INTO l_dummy_var;
403 CLOSE l_chrv_csr;
404 -- if l_dummy_var still set to default, data was not found
405 IF (l_dummy_var = '?') THEN
406 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
407 p_msg_name => g_no_parent_record,
408 p_token1 => g_col_name_token,
409 p_token1_value => 'chr_id_award',
410 p_token2 => g_child_table_token,
411 p_token2_value => G_VIEW,
412 p_token3 => g_parent_table_token,
413 p_token3_value => G_VIEW);
414 -- notify caller of an error
415 x_return_status := OKC_API.G_RET_STS_ERROR;
416 END IF;
417 END IF;
418 IF (l_debug = 'Y') THEN
419 okc_debug.LOG('1700: Exiting validate_chr_id_award', 2);
420 okc_debug.Reset_Indentation;
421 END IF;
422
423
424 EXCEPTION
425 WHEN OTHERS THEN
426
427 IF (l_debug = 'Y') THEN
428 okc_debug.LOG('1800: Exiting validate_chr_id_award:OTHERS Exception', 2);
429 okc_debug.Reset_Indentation;
430 END IF;
431
432 -- store SQL error message on message stack
433 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
434 p_msg_name => g_unexpected_error,
435 p_token1 => g_sqlcode_token,
436 p_token1_value => SQLCODE,
437 p_token2 => g_sqlerrm_token,
438 p_token2_value => SQLERRM);
439 -- notify caller of an error as UNEXPETED error
440 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
441
442 -- verify that cursor was closed
443 IF l_chrv_csr%ISOPEN THEN
444 CLOSE l_chrv_csr;
445 END IF;
446
447
448 END validate_chr_id_award;
449
450 -- Start of comments
451 --
452 -- Procedure Name : validate_INV_ORGANIZATION_ID
453 -- Description :
454 -- Business Rules :
455 -- Parameters :
456 -- Version : 1.0
457 -- End of comments
458 PROCEDURE validate_INV_ORGANIZATION_ID(x_return_status OUT NOCOPY VARCHAR2,
459 p_chrv_rec IN chrv_rec_type) IS
460 BEGIN
461
462 IF (l_debug = 'Y') THEN
463 okc_debug.Set_Indentation('OKC_CHR_PVT');
464 okc_debug.LOG('1900: Entered validate_INV_ORGANIZATION_ID', 2);
465 END IF;
466
467 -- initialize return status
468 x_return_status := OKC_API.G_RET_STS_SUCCESS;
469
470 -- check that data exists
471 IF (p_chrv_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM OR
472 p_chrv_rec.INV_ORGANIZATION_ID IS NULL)
473 THEN
474 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
475 p_msg_name => g_required_value,
476 p_token1 => g_col_name_token,
477 p_token1_value => 'INV_ORGANIZATION_ID');
478 -- notify caller of an error
479 x_return_status := OKC_API.G_RET_STS_ERROR;
480
481 -- halt validation
482 RAISE G_EXCEPTION_HALT_VALIDATION;
483 END IF;
484 IF (l_debug = 'Y') THEN
485 okc_debug.LOG('2000: Exiting validate_INV_ORGANIZATION_ID', 2);
486 okc_debug.Reset_Indentation;
487 END IF;
488
489
490 EXCEPTION
491 WHEN G_EXCEPTION_HALT_VALIDATION THEN
492
493 IF (l_debug = 'Y') THEN
494 okc_debug.LOG('2100: Exiting validate_INV_ORGANIZATION_ID:G_EXCEPTION_HALT_VALIDATION Exception', 2);
495 okc_debug.Reset_Indentation;
496 END IF;
497
498 -- no processing necessary; validation can continue with next column
499 NULL;
500
501 WHEN OTHERS THEN
502
503 IF (l_debug = 'Y') THEN
504 okc_debug.LOG('2200: Exiting validate_INV_ORGANIZATION_ID:OTHERS Exception', 2);
505 okc_debug.Reset_Indentation;
506 END IF;
507
508 -- store SQL error message on message stack
509 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
510 p_msg_name => g_unexpected_error,
511 p_token1 => g_sqlcode_token,
512 p_token1_value => SQLCODE,
513 p_token2 => g_sqlerrm_token,
514 p_token2_value => SQLERRM);
515 -- notify caller of an error as UNEXPETED error
516 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
517
518 END validate_INV_ORGANIZATION_ID;
519
520 -- Start of comments
521 --
522 -- Procedure Name : validate_sts_code
523 -- Description :
524 -- Business Rules :
525 -- Parameters :
526 -- Version : 1.0
527 -- End of comments
528 PROCEDURE validate_sts_code(x_return_status OUT NOCOPY VARCHAR2,
529 p_chrv_rec IN chrv_rec_type) IS
530 l_dummy_var VARCHAR2(1) := '?';
531 CURSOR l_stsv_csr (p_code IN VARCHAR2) IS
532 SELECT 'x'
533 FROM Okc_Statuses_B
534 WHERE okc_statuses_B.code = p_code;
535 BEGIN
536
537 IF (l_debug = 'Y') THEN
538 okc_debug.Set_Indentation('OKC_CHR_PVT');
539 okc_debug.LOG('2300: Entered validate_sts_code', 2);
540 END IF;
541
542 -- initialize return status
543 x_return_status := OKC_API.G_RET_STS_SUCCESS;
544
545 -- check that data exists
546 IF (p_chrv_rec.sts_code = OKC_API.G_MISS_CHAR OR
547 p_chrv_rec.sts_code IS NULL)
548 THEN
549 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
550 p_msg_name => g_required_value,
551 p_token1 => g_col_name_token,
552 p_token1_value => 'sts_code');
553 -- notify caller of an error
554 x_return_status := OKC_API.G_RET_STS_ERROR;
555
556 -- halt validation
557 RAISE G_EXCEPTION_HALT_VALIDATION;
558 END IF;
559
560 -- Check foreign key
561 OPEN l_stsv_csr(p_chrv_rec.sts_code);
562 FETCH l_stsv_csr INTO l_dummy_var;
563 CLOSE l_stsv_csr;
564
565 IF (l_dummy_var = '?') THEN
566 --set error message in message stack
567 OKC_API.SET_MESSAGE(
568 p_app_name => g_app_name,
569 p_msg_name => g_no_parent_record,
570 p_token1 => g_col_name_token,
571 p_token1_value => 'sts_code',
572 p_token2 => g_child_table_token,
573 p_token2_value => G_VIEW,
574 p_token3 => g_parent_table_token,
575 p_token3_value => 'OKC_STATUSES_V');
576 -- notify caller of an error
577 x_return_status := OKC_API.G_RET_STS_ERROR;
578 END IF;
579 IF (l_debug = 'Y') THEN
580 okc_debug.LOG('2400: Exiting validate_sts_code', 2);
581 okc_debug.Reset_Indentation;
582 END IF;
583
584
585 EXCEPTION
586 WHEN G_EXCEPTION_HALT_VALIDATION THEN
587
588 IF (l_debug = 'Y') THEN
589 okc_debug.LOG('2500: Exiting validate_sts_code:G_EXCEPTION_HALT_VALIDATION Exception', 2);
590 okc_debug.Reset_Indentation;
591 END IF;
592
593 -- no processing necessary; validation can continue with next column
594 NULL;
595
596 WHEN OTHERS THEN
597
598 IF (l_debug = 'Y') THEN
599 okc_debug.LOG('2600: Exiting validate_sts_code:OTHERS Exception', 2);
600 okc_debug.Reset_Indentation;
601 END IF;
602
603 -- store SQL error message on message stack
604 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
605 p_msg_name => g_unexpected_error,
606 p_token1 => g_sqlcode_token,
607 p_token1_value => SQLCODE,
608 p_token2 => g_sqlerrm_token,
609 p_token2_value => SQLERRM);
610 -- notify caller of an error as UNEXPETED error
611 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
612
613 END validate_sts_code;
614
615 -- Start of comments
616 --
617 -- Procedure Name : validate_qcl_id
618 -- Description :
619 -- Business Rules :
620 -- Parameters :
621 -- Version : 1.0
622 -- End of comments
623 PROCEDURE validate_qcl_id(x_return_status OUT NOCOPY VARCHAR2,
624 p_chrv_rec IN chrv_rec_type) IS
625
626 l_dummy_var VARCHAR2(1) := '?';
627 CURSOR l_qclv_csr IS
628 SELECT 'x'
629 FROM OKC_QA_CHECK_LISTS_B
630 WHERE ID = p_chrv_rec.qcl_id;
631 BEGIN
632
633 IF (l_debug = 'Y') THEN
634 okc_debug.Set_Indentation('OKC_CHR_PVT');
635 okc_debug.LOG('2700: Entered validate_qcl_id', 2);
636 END IF;
637
638 -- initialize return status
639 x_return_status := OKC_API.G_RET_STS_SUCCESS;
640
641 -- enforce foreign key (qcl_id is optional)
642 IF (p_chrv_rec.qcl_id <> OKC_API.G_MISS_NUM AND
643 p_chrv_rec.qcl_id IS NOT NULL)
644 THEN
645 OPEN l_qclv_csr;
646 FETCH l_qclv_csr INTO l_dummy_var;
647 CLOSE l_qclv_csr;
648
649 -- if l_dummy_var still set to default, data was not found
650 IF (l_dummy_var = '?') THEN
651 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
652 p_msg_name => g_no_parent_record,
653 p_token1 => g_col_name_token,
654 p_token1_value => 'qcl_id',
655 p_token2 => g_child_table_token,
656 p_token2_value => G_VIEW,
657 p_token3 => g_parent_table_token,
658 p_token3_value => G_VIEW);
659 -- notify caller of an error
660 x_return_status := OKC_API.G_RET_STS_ERROR;
661 END IF;
662 END IF;
663 IF (l_debug = 'Y') THEN
664 okc_debug.LOG('2800: Exiting validate_qcl_id', 2);
665 okc_debug.Reset_Indentation;
666 END IF;
667
668
669 EXCEPTION
670 WHEN OTHERS THEN
671
672 IF (l_debug = 'Y') THEN
673 okc_debug.LOG('2900: Exiting validate_qcl_id:OTHERS Exception', 2);
674 okc_debug.Reset_Indentation;
675 END IF;
676
677 -- store SQL error message on message stack
678 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
679 p_msg_name => g_unexpected_error,
680 p_token1 => g_sqlcode_token,
681 p_token1_value => SQLCODE,
682 p_token2 => g_sqlerrm_token,
683 p_token2_value => SQLERRM);
684 -- notify caller of an error as UNEXPETED error
685 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
686
687 -- verify that cursor was closed
688 IF l_qclv_csr%ISOPEN THEN
689 CLOSE l_qclv_csr;
690 END IF;
691
692
693 END validate_qcl_id;
694
695 -- Start of comments
696 --
697 -- Procedure Name : validate_org_ids
698 -- Description :
699 -- Business Rules :
700 -- Parameters :
701 -- Version : 1.0
702 -- End of comments
703 PROCEDURE validate_org_ids(x_return_status OUT NOCOPY VARCHAR2,
704 p_chrv_rec IN chrv_rec_type) IS
705 BEGIN
706
707 IF (l_debug = 'Y') THEN
708 okc_debug.Set_Indentation('OKC_CHR_PVT');
709 okc_debug.LOG('3000: Entered validate_org_ids', 2);
710 END IF;
711
712 -- initialize return status
713 x_return_status := OKC_API.G_RET_STS_SUCCESS;
714
715
716
717 -- check that data exists
718 IF (p_chrv_rec.authoring_org_id = OKC_API.G_MISS_NUM OR
719 p_chrv_rec.authoring_org_id IS NULL)
720 THEN
721
722 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
723 p_msg_name => g_required_value,
724 p_token1 => g_col_name_token,
725 p_token1_value => 'authoring_org_id');
726 -- notify caller of an error
727 x_return_status := OKC_API.G_RET_STS_ERROR;
728 -- halt validation
729 RAISE G_EXCEPTION_HALT_VALIDATION;
730
731 END IF;
732
733 --mmadhavi start MOAC
734 -- check that data exists
735 IF (p_chrv_rec.org_id = OKC_API.G_MISS_NUM OR
736 p_chrv_rec.org_id IS NULL)
737 THEN
738
739 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
740 p_msg_name => g_required_value,
741 p_token1 => g_col_name_token,
742 p_token1_value => 'org_id');
743 -- notify caller of an error
744 x_return_status := OKC_API.G_RET_STS_ERROR;
745
746 -- halt validation
747 RAISE G_EXCEPTION_HALT_VALIDATION;
748
749 END IF;
750
751
752 IF (l_debug = 'Y') THEN
753 okc_debug.LOG('3100: Exiting validate_org_ids', 2);
754 okc_debug.Reset_Indentation;
755 END IF;
756
757
758 EXCEPTION
759 WHEN G_EXCEPTION_HALT_VALIDATION THEN
760
761 IF (l_debug = 'Y') THEN
762 okc_debug.LOG('3200: Exiting validate_org_ids:G_EXCEPTION_HALT_VALIDATION Exception', 2);
763 okc_debug.Reset_Indentation;
764 END IF;
765
766 -- no processing necessary; validation can continue with next column
767 NULL;
768
769 WHEN OTHERS THEN
770
771 IF (l_debug = 'Y') THEN
772 okc_debug.LOG('3300: Exiting validate_org_ids:OTHERS Exception', 2);
773 okc_debug.Reset_Indentation;
774 END IF;
775
776 -- store SQL error message on message stack
777 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
778 p_msg_name => g_unexpected_error,
779 p_token1 => g_sqlcode_token,
780 p_token1_value => SQLCODE,
781 p_token2 => g_sqlerrm_token,
782 p_token2_value => SQLERRM);
783 -- notify caller of an error as UNEXPETED error
784 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
785
786 END validate_org_ids;
787
788 -- Start of comments
789 --
790 -- Procedure Name : validate_buy_or_sell
791 -- Description :
792 -- Business Rules :
793 -- Parameters :
794 -- Version : 1.0
795 -- End of comments
796 PROCEDURE validate_buy_or_sell(x_return_status OUT NOCOPY VARCHAR2,
797 p_chrv_rec IN chrv_rec_type) IS
798 BEGIN
799
800 IF (l_debug = 'Y') THEN
801 okc_debug.Set_Indentation('OKC_CHR_PVT');
802 okc_debug.LOG('3400: Entered validate_buy_or_sell', 2);
803 END IF;
804
805 -- initialize return status
806 x_return_status := OKC_API.G_RET_STS_SUCCESS;
807
808 -- check that data exists
809 IF (p_chrv_rec.buy_or_sell <> OKC_API.G_MISS_CHAR AND
810 p_chrv_rec.buy_or_sell IS NOT NULL)
811 THEN
812 IF (upper(p_chrv_rec.buy_or_sell) NOT IN ('B', 'S')) THEN
813 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
814 p_msg_name => g_invalid_value,
815 p_token1 => g_col_name_token,
816 p_token1_value => 'buy_or_sell');
817 -- notify caller of an error
818 x_return_status := OKC_API.G_RET_STS_ERROR;
819
820 -- halt validation
821 RAISE G_EXCEPTION_HALT_VALIDATION;
822 END IF;
823 END IF;
824 IF (l_debug = 'Y') THEN
825 okc_debug.LOG('3500: Exiting validate_buy_or_sell', 2);
826 okc_debug.Reset_Indentation;
827 END IF;
828
829
830 EXCEPTION
831 WHEN G_EXCEPTION_HALT_VALIDATION THEN
832
833 IF (l_debug = 'Y') THEN
834 okc_debug.LOG('3600: Exiting validate_buy_or_sell:G_EXCEPTION_HALT_VALIDATION Exception', 2);
835 okc_debug.Reset_Indentation;
836 END IF;
837
838 -- no processing necessary; validation can continue with next column
839 NULL;
840
841 WHEN OTHERS THEN
842
843 IF (l_debug = 'Y') THEN
844 okc_debug.LOG('3700: Exiting validate_buy_or_sell:OTHERS Exception', 2);
845 okc_debug.Reset_Indentation;
846 END IF;
847
848 -- store SQL error message on message stack
849 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
850 p_msg_name => g_unexpected_error,
851 p_token1 => g_sqlcode_token,
852 p_token1_value => SQLCODE,
853 p_token2 => g_sqlerrm_token,
854 p_token2_value => SQLERRM);
855 -- notify caller of an error as UNEXPETED error
856 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
857
858 END validate_buy_or_sell;
859
860 -- Start of comments
861 --
862 -- Procedure Name : validate_issue_or_receive
863 -- Description :
864 -- Business Rules :
865 -- Parameters :
866 -- Version : 1.0
867 -- End of comments
868 PROCEDURE validate_issue_or_receive(x_return_status OUT NOCOPY VARCHAR2,
869 p_chrv_rec IN chrv_rec_type) IS
870 BEGIN
871
872 IF (l_debug = 'Y') THEN
873 okc_debug.Set_Indentation('OKC_CHR_PVT');
874 okc_debug.LOG('3800: Entered validate_issue_or_receive', 2);
875 END IF;
876
877 -- initialize return status
878 x_return_status := OKC_API.G_RET_STS_SUCCESS;
879
880 -- check that data exists
881 IF (p_chrv_rec.issue_or_receive <> OKC_API.G_MISS_CHAR AND
882 p_chrv_rec.issue_or_receive IS NOT NULL)
883 THEN
884 IF (upper(p_chrv_rec.issue_or_receive) NOT IN ('I', 'R')) THEN
885 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
886 p_msg_name => g_invalid_value,
887 p_token1 => g_col_name_token,
888 p_token1_value => 'issue_or_receive');
889 -- notify caller of an error
890 x_return_status := OKC_API.G_RET_STS_ERROR;
891
892 -- halt validation
893 RAISE G_EXCEPTION_HALT_VALIDATION;
894 END IF;
895 END IF;
896 IF (l_debug = 'Y') THEN
897 okc_debug.LOG('3900: Exiting validate_issue_or_receive', 2);
898 okc_debug.Reset_Indentation;
899 END IF;
900
901
902 EXCEPTION
903 WHEN G_EXCEPTION_HALT_VALIDATION THEN
904
905 IF (l_debug = 'Y') THEN
906 okc_debug.LOG('4000: Exiting validate_issue_or_receive:G_EXCEPTION_HALT_VALIDATION Exception', 2);
907 okc_debug.Reset_Indentation;
908 END IF;
909
910 -- no processing necessary; validation can continue with next column
911 NULL;
912
913 WHEN OTHERS THEN
914
915 IF (l_debug = 'Y') THEN
916 okc_debug.LOG('4100: Exiting validate_issue_or_receive:OTHERS Exception', 2);
917 okc_debug.Reset_Indentation;
918 END IF;
919
920 -- store SQL error message on message stack
921 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
922 p_msg_name => g_unexpected_error,
923 p_token1 => g_sqlcode_token,
924 p_token1_value => SQLCODE,
925 p_token2 => g_sqlerrm_token,
926 p_token2_value => SQLERRM);
927 -- notify caller of an error as UNEXPETED error
928 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
929
930 END validate_issue_or_receive;
931
932 -- Start of comments
933 --
934 -- Procedure Name : validate_scs_code
935 -- Description :
936 -- Business Rules :
937 -- Parameters :
938 -- Version : 1.0
939 -- End of comments
940 PROCEDURE validate_scs_code(x_return_status OUT NOCOPY VARCHAR2,
941 p_chrv_rec IN chrv_rec_type) IS
942 l_dummy_var VARCHAR2(1) := '?';
943 CURSOR l_scsv_csr (p_code IN VARCHAR2) IS
944 SELECT 'x'
945 FROM Okc_Subclasses_B
946 WHERE okc_subclasses_b.code = p_code;
947 BEGIN
948
949 IF (l_debug = 'Y') THEN
950 okc_debug.Set_Indentation('OKC_CHR_PVT');
951 okc_debug.LOG('4200: Entered validate_scs_code', 2);
952 END IF;
953
954 -- initialize return status
955 x_return_status := OKC_API.G_RET_STS_SUCCESS;
956
957 -- check that data exists
958 IF (p_chrv_rec.scs_code = OKC_API.G_MISS_CHAR OR
959 p_chrv_rec.scs_code IS NULL)
960 THEN
961 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
962 p_msg_name => g_required_value,
963 p_token1 => g_col_name_token,
964 p_token1_value => 'scs_code');
965 -- notify caller of an error
966 x_return_status := OKC_API.G_RET_STS_ERROR;
967
968 -- halt validation
969 RAISE G_EXCEPTION_HALT_VALIDATION;
970 END IF;
971
972 -- Check foreign key
973 OPEN l_scsv_csr(p_chrv_rec.scs_code);
974 FETCH l_scsv_csr INTO l_dummy_var;
975 CLOSE l_scsv_csr;
976
977 -- if l_dummy_var still set to default, data was not found
978 IF (l_dummy_var = '?') THEN
979 OKC_API.SET_MESSAGE(
980 p_app_name => g_app_name,
981 p_msg_name => g_no_parent_record,
982 p_token1 => g_col_name_token,
983 p_token1_value => 'scs_code',
984 p_token2 => g_child_table_token,
985 p_token2_value => G_VIEW,
986 p_token3 => g_parent_table_token,
987 p_token3_value => 'OKC_SUBCLASSES_V');
988 -- notify caller of an error
989 x_return_status := OKC_API.G_RET_STS_ERROR;
990 END IF;
991 IF (l_debug = 'Y') THEN
992 okc_debug.LOG('4300: Exiting validate_scs_code', 2);
993 okc_debug.Reset_Indentation;
994 END IF;
995
996
997 EXCEPTION
998 WHEN G_EXCEPTION_HALT_VALIDATION THEN
999
1000 IF (l_debug = 'Y') THEN
1001 okc_debug.LOG('4400: Exiting validate_scs_code:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1002 okc_debug.Reset_Indentation;
1003 END IF;
1004
1005 -- no processing necessary; validation can continue with next column
1006 NULL;
1007
1008 WHEN OTHERS THEN
1009
1010 IF (l_debug = 'Y') THEN
1011 okc_debug.LOG('4500: Exiting validate_scs_code:OTHERS Exception', 2);
1012 okc_debug.Reset_Indentation;
1013 END IF;
1014
1015 -- store SQL error message on message stack
1016 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1017 p_msg_name => g_unexpected_error,
1018 p_token1 => g_sqlcode_token,
1019 p_token1_value => SQLCODE,
1020 p_token2 => g_sqlerrm_token,
1021 p_token2_value => SQLERRM);
1022 -- notify caller of an error as UNEXPETED error
1023 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1024
1025 END validate_scs_code;
1026
1027 -- Start of comments
1028 --
1029 -- Procedure Name : validate_archived_yn
1030 -- Description :
1031 -- Business Rules :
1032 -- Parameters :
1033 -- Version : 1.0
1034 -- End of comments
1035 PROCEDURE validate_archived_yn(x_return_status OUT NOCOPY VARCHAR2,
1036 p_chrv_rec IN chrv_rec_type) IS
1037 BEGIN
1038
1039 IF (l_debug = 'Y') THEN
1040 okc_debug.Set_Indentation('OKC_CHR_PVT');
1041 okc_debug.LOG('4600: Entered validate_archived_yn', 2);
1042 END IF;
1043
1044 -- initialize return status
1045 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1046
1047 -- check that data exists
1048 IF (p_chrv_rec.archived_yn = OKC_API.G_MISS_CHAR OR
1049 p_chrv_rec.archived_yn IS NULL)
1050 THEN
1051 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1052 p_msg_name => g_required_value,
1053 p_token1 => g_col_name_token,
1054 p_token1_value => 'archived_yn');
1055 -- notify caller of an error
1056 x_return_status := OKC_API.G_RET_STS_ERROR;
1057
1058 -- halt validation
1059 RAISE G_EXCEPTION_HALT_VALIDATION;
1060 END IF;
1061
1062 -- check allowed values
1063 IF (upper(p_chrv_rec.archived_yn) NOT IN ('Y', 'N')) THEN
1064 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1065 p_msg_name => g_invalid_value,
1066 p_token1 => g_col_name_token,
1067 p_token1_value => 'archived_yn');
1068 -- notify caller of an error
1069 x_return_status := OKC_API.G_RET_STS_ERROR;
1070 END IF;
1071 IF (l_debug = 'Y') THEN
1072 okc_debug.LOG('4700: Exiting validate_archived_yn', 2);
1073 okc_debug.Reset_Indentation;
1074 END IF;
1075
1076
1077 EXCEPTION
1078 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1079
1080 IF (l_debug = 'Y') THEN
1081 okc_debug.LOG('4800: Exiting validate_archived_yn:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1082 okc_debug.Reset_Indentation;
1083 END IF;
1084
1085 -- no processing necessary; validation can continue with next column
1086 NULL;
1087
1088 WHEN OTHERS THEN
1089
1090 IF (l_debug = 'Y') THEN
1091 okc_debug.LOG('4900: Exiting validate_archived_yn:OTHERS Exception', 2);
1092 okc_debug.Reset_Indentation;
1093 END IF;
1094
1095 -- store SQL error message on message stack
1096 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1097 p_msg_name => g_unexpected_error,
1098 p_token1 => g_sqlcode_token,
1099 p_token1_value => SQLCODE,
1100 p_token2 => g_sqlerrm_token,
1101 p_token2_value => SQLERRM);
1102 -- notify caller of an error as UNEXPETED error
1103 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1104
1105 END validate_archived_yn;
1106
1107 -- Start of comments
1108 --
1109 -- Procedure Name : validate_deleted_yn
1110 -- Description :
1111 -- Business Rules :
1112 -- Parameters :
1113 -- Version : 1.0
1114 -- End of comments
1115 PROCEDURE validate_deleted_yn(x_return_status OUT NOCOPY VARCHAR2,
1116 p_chrv_rec IN chrv_rec_type) IS
1117 BEGIN
1118
1119 IF (l_debug = 'Y') THEN
1120 okc_debug.Set_Indentation('OKC_CHR_PVT');
1121 okc_debug.LOG('5000: Entered validate_deleted_yn', 2);
1122 END IF;
1123
1124 -- initialize return status
1125 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1126
1127 -- check that data exists
1128 IF (p_chrv_rec.deleted_yn = OKC_API.G_MISS_CHAR OR
1129 p_chrv_rec.deleted_yn IS NULL)
1130 THEN
1131 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1132 p_msg_name => g_required_value,
1133 p_token1 => g_col_name_token,
1134 p_token1_value => 'deleted_yn');
1135 -- notify caller of an error
1136 x_return_status := OKC_API.G_RET_STS_ERROR;
1137
1138 -- halt validation
1139 RAISE G_EXCEPTION_HALT_VALIDATION;
1140 END IF;
1141
1142 -- check allowed values
1143 IF (upper(p_chrv_rec.deleted_yn) NOT IN ('Y', 'N')) THEN
1144 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1145 p_msg_name => g_invalid_value,
1146 p_token1 => g_col_name_token,
1147 p_token1_value => 'deleted_yn');
1148 -- notify caller of an error
1149 x_return_status := OKC_API.G_RET_STS_ERROR;
1150 END IF;
1151 IF (l_debug = 'Y') THEN
1152 okc_debug.LOG('5100: Exiting validate_deleted_yn', 2);
1153 okc_debug.Reset_Indentation;
1154 END IF;
1155
1156
1157 EXCEPTION
1158 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1159
1160 IF (l_debug = 'Y') THEN
1161 okc_debug.LOG('5200: Exiting validate_deleted_yn:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1162 okc_debug.Reset_Indentation;
1163 END IF;
1164
1165 -- no processing necessary; validation can continue with next column
1166 NULL;
1167
1168 WHEN OTHERS THEN
1169
1170 IF (l_debug = 'Y') THEN
1171 okc_debug.LOG('5300: Exiting validate_deleted_yn:OTHERS Exception', 2);
1172 okc_debug.Reset_Indentation;
1173 END IF;
1174
1175 -- store SQL error message on message stack
1176 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1177 p_msg_name => g_unexpected_error,
1178 p_token1 => g_sqlcode_token,
1179 p_token1_value => SQLCODE,
1180 p_token2 => g_sqlerrm_token,
1181 p_token2_value => SQLERRM);
1182 -- notify caller of an error as UNEXPETED error
1183 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1184
1185 END validate_deleted_yn;
1186
1187 -- Start of comments
1188 --
1189 -- Procedure Name : validate_cust_po_number_req_yn
1190 -- Description :
1191 -- Business Rules :
1192 -- Parameters :
1193 -- Version : 1.0
1194 -- End of comments
1195 PROCEDURE validate_cust_po_number_req_yn(x_return_status OUT NOCOPY VARCHAR2,
1196 p_chrv_rec IN chrv_rec_type) IS
1197 BEGIN
1198
1199 IF (l_debug = 'Y') THEN
1200 okc_debug.Set_Indentation('OKC_CHR_PVT');
1201 okc_debug.LOG('5400: Entered validate_cust_po_number_req_yn', 2);
1202 END IF;
1203
1204 -- initialize return status
1205 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1206
1207 -- check that data exists
1208 IF (p_chrv_rec.cust_po_number_req_yn <> OKC_API.G_MISS_CHAR AND
1209 p_chrv_rec.cust_po_number_req_yn IS NOT NULL)
1210 THEN
1211 IF (upper(p_chrv_rec.cust_po_number_req_yn) NOT IN ('Y', 'N')) THEN
1212 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1213 p_msg_name => g_invalid_value,
1214 p_token1 => g_col_name_token,
1215 p_token1_value => 'cust_po_number_req_yn');
1216 -- notify caller of an error
1217 x_return_status := OKC_API.G_RET_STS_ERROR;
1218
1219 -- halt validation
1220 RAISE G_EXCEPTION_HALT_VALIDATION;
1221 END IF;
1222 END IF;
1223 IF (l_debug = 'Y') THEN
1224 okc_debug.LOG('5500: Exiting validate_cust_po_number_req_yn', 2);
1225 okc_debug.Reset_Indentation;
1226 END IF;
1227
1228
1229 EXCEPTION
1230 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1231
1232 IF (l_debug = 'Y') THEN
1233 okc_debug.LOG('5600: Exiting validate_cust_po_number_req_yn:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1234 okc_debug.Reset_Indentation;
1235 END IF;
1236
1237 -- no processing necessary; validation can continue with next column
1238 NULL;
1239
1240 WHEN OTHERS THEN
1241
1242 IF (l_debug = 'Y') THEN
1243 okc_debug.LOG('5700: Exiting validate_cust_po_number_req_yn:OTHERS Exception', 2);
1244 okc_debug.Reset_Indentation;
1245 END IF;
1246
1247 -- store SQL error message on message stack
1248 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1249 p_msg_name => g_unexpected_error,
1250 p_token1 => g_sqlcode_token,
1251 p_token1_value => SQLCODE,
1252 p_token2 => g_sqlerrm_token,
1253 p_token2_value => SQLERRM);
1254 -- notify caller of an error as UNEXPETED error
1255 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1256
1257 END validate_cust_po_number_req_yn;
1258
1259 -- Start of comments
1260 --
1261 -- Procedure Name : validate_pre_pay_req_yn
1262 -- Description :
1263 -- Business Rules :
1264 -- Parameters :
1265 -- Version : 1.0
1266 -- End of comments
1267 PROCEDURE validate_pre_pay_req_yn(x_return_status OUT NOCOPY VARCHAR2,
1268 p_chrv_rec IN chrv_rec_type) IS
1269 BEGIN
1270
1271 IF (l_debug = 'Y') THEN
1272 okc_debug.Set_Indentation('OKC_CHR_PVT');
1273 okc_debug.LOG('5800: Entered validate_pre_pay_req_yn', 2);
1274 END IF;
1275
1276 -- initialize return status
1277 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1278
1279 -- check that data exists
1280 IF (p_chrv_rec.pre_pay_req_yn <> OKC_API.G_MISS_CHAR AND
1281 p_chrv_rec.pre_pay_req_yn IS NOT NULL)
1282 THEN
1283 -- check allowed values
1284 IF (upper(p_chrv_rec.cust_po_number_req_yn) NOT IN ('Y', 'N')) THEN
1285 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1286 p_msg_name => g_required_value,
1287 p_token1 => g_col_name_token,
1288 p_token1_value => 'pre_pay_req_yn');
1289 -- notify caller of an error
1290 x_return_status := OKC_API.G_RET_STS_ERROR;
1291
1292 -- halt validation
1293 RAISE G_EXCEPTION_HALT_VALIDATION;
1294 END IF;
1295 END IF;
1296 IF (l_debug = 'Y') THEN
1297 okc_debug.LOG('5900: Exiting validate_pre_pay_req_yn', 2);
1298 okc_debug.Reset_Indentation;
1299 END IF;
1300
1301
1302 EXCEPTION
1303 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1304
1305 IF (l_debug = 'Y') THEN
1306 okc_debug.LOG('6000: Exiting validate_pre_pay_req_yn:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1307 okc_debug.Reset_Indentation;
1308 END IF;
1309
1310 -- no processing necessary; validation can continue with next column
1311 NULL;
1312
1313 WHEN OTHERS THEN
1314
1315 IF (l_debug = 'Y') THEN
1316 okc_debug.LOG('6100: Exiting validate_pre_pay_req_yn:OTHERS Exception', 2);
1317 okc_debug.Reset_Indentation;
1318 END IF;
1319
1320 -- store SQL error message on message stack
1321 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1322 p_msg_name => g_unexpected_error,
1323 p_token1 => g_sqlcode_token,
1324 p_token1_value => SQLCODE,
1325 p_token2 => g_sqlerrm_token,
1326 p_token2_value => SQLERRM);
1327 -- notify caller of an error as UNEXPETED error
1328 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1329
1330 END validate_pre_pay_req_yn;
1331
1332 -- Start of comments
1333 --
1334 -- Procedure Name : validate_template_yn
1335 -- Description :
1336 -- Business Rules :
1337 -- Parameters :
1338 -- Version : 1.0
1339 -- End of comments
1340 PROCEDURE validate_template_yn(x_return_status OUT NOCOPY VARCHAR2,
1341 p_chrv_rec IN chrv_rec_type) IS
1342 BEGIN
1343
1344 IF (l_debug = 'Y') THEN
1345 okc_debug.Set_Indentation('OKC_CHR_PVT');
1346 okc_debug.LOG('6200: Entered validate_template_yn', 2);
1347 END IF;
1348
1349 -- initialize return status
1350 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1351
1352 -- check that data exists
1353 IF (p_chrv_rec.template_yn = OKC_API.G_MISS_CHAR OR
1354 p_chrv_rec.template_yn IS NULL)
1355 THEN
1356 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1357 p_msg_name => g_required_value,
1358 p_token1 => g_col_name_token,
1359 p_token1_value => 'template_yn');
1360 -- notify caller of an error
1361 x_return_status := OKC_API.G_RET_STS_ERROR;
1362
1363 -- halt validation
1364 RAISE G_EXCEPTION_HALT_VALIDATION;
1365 END IF;
1366
1367 -- check allowed values
1368 IF (upper(p_chrv_rec.template_yn) NOT IN ('Y', 'N')) THEN
1369 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1370 p_msg_name => g_invalid_value,
1371 p_token1 => g_col_name_token,
1372 p_token1_value => 'template_yn');
1373 -- notify caller of an error
1374 x_return_status := OKC_API.G_RET_STS_ERROR;
1375 END IF;
1376 IF (l_debug = 'Y') THEN
1377 okc_debug.LOG('6300: Exiting validate_template_yn', 2);
1378 okc_debug.Reset_Indentation;
1379 END IF;
1380
1381
1382 EXCEPTION
1383 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1384
1385 IF (l_debug = 'Y') THEN
1386 okc_debug.LOG('6400: Exiting validate_template_yn:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1387 okc_debug.Reset_Indentation;
1388 END IF;
1389
1390 -- no processing necessary; validation can continue with next column
1391 NULL;
1392
1393 WHEN OTHERS THEN
1394
1395 IF (l_debug = 'Y') THEN
1396 okc_debug.LOG('6500: Exiting validate_template_yn:OTHERS Exception', 2);
1397 okc_debug.Reset_Indentation;
1398 END IF;
1399
1400 -- store SQL error message on message stack
1401 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1402 p_msg_name => g_unexpected_error,
1403 p_token1 => g_sqlcode_token,
1404 p_token1_value => SQLCODE,
1405 p_token2 => g_sqlerrm_token,
1406 p_token2_value => SQLERRM);
1407 -- notify caller of an error as UNEXPETED error
1408 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1409
1410 END validate_template_yn;
1411
1412 -- Start of comments
1413 --
1414 -- Procedure Name : validate_chr_type
1415 -- Description :
1416 -- Business Rules :
1417 -- Parameters :
1418 -- Version : 1.0
1419 -- End of comments
1420 PROCEDURE validate_chr_type(x_return_status OUT NOCOPY VARCHAR2,
1421 p_chrv_rec IN chrv_rec_type) IS
1422 BEGIN
1423
1424 IF (l_debug = 'Y') THEN
1425 okc_debug.Set_Indentation('OKC_CHR_PVT');
1426 okc_debug.LOG('6600: Entered validate_chr_type', 2);
1427 END IF;
1428
1429 -- initialize return status
1430 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1431
1432 -- check that data exists
1433 IF (p_chrv_rec.chr_type = OKC_API.G_MISS_CHAR OR
1434 p_chrv_rec.chr_type IS NULL)
1435 THEN
1436 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1437 p_msg_name => g_required_value,
1438 p_token1 => g_col_name_token,
1439 p_token1_value => 'chr_type');
1440 -- notify caller of an error
1441 x_return_status := OKC_API.G_RET_STS_ERROR;
1442
1443 -- halt validation
1444 RAISE G_EXCEPTION_HALT_VALIDATION;
1445 END IF;
1446
1447 -- check allowed values
1448 IF (upper(p_chrv_rec.chr_type) NOT IN ('CYR', 'CYP', 'CYA')) THEN
1449 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1450 p_msg_name => g_invalid_value,
1451 p_token1 => g_col_name_token,
1452 p_token1_value => 'chr_type');
1453 -- notify caller of an error
1454 x_return_status := OKC_API.G_RET_STS_ERROR;
1455 END IF;
1456 IF (l_debug = 'Y') THEN
1457 okc_debug.LOG('6700: Exiting validate_chr_type', 2);
1458 okc_debug.Reset_Indentation;
1459 END IF;
1460
1461
1462 EXCEPTION
1463 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1464
1465 IF (l_debug = 'Y') THEN
1466 okc_debug.LOG('6800: Exiting validate_chr_type:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1467 okc_debug.Reset_Indentation;
1468 END IF;
1469
1470 -- no processing necessary; validation can continue with next column
1471 NULL;
1472
1473 WHEN OTHERS THEN
1474
1475 IF (l_debug = 'Y') THEN
1476 okc_debug.LOG('6900: Exiting validate_chr_type:OTHERS Exception', 2);
1477 okc_debug.Reset_Indentation;
1478 END IF;
1479
1480 -- store SQL error message on message stack
1481 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1482 p_msg_name => g_unexpected_error,
1483 p_token1 => g_sqlcode_token,
1484 p_token1_value => SQLCODE,
1485 p_token2 => g_sqlerrm_token,
1486 p_token2_value => SQLERRM);
1487 -- notify caller of an error as UNEXPETED error
1488 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1489
1490 END validate_chr_type;
1491
1492 /*
1493 -- Start of comments
1494 --
1495 -- Procedure Name : validate_datetime_cancelled
1496 -- Description :
1497 -- Business Rules :
1498 -- Parameters :
1499 -- Version : 1.0
1500 -- End of comments
1501 PROCEDURE validate_datetime_cancelled(x_return_status OUT NOCOPY VARCHAR2,
1502 p_chrv_rec IN chrv_rec_type) is
1503 Begin
1504
1505 IF (l_debug = 'Y') THEN
1506 okc_debug.Set_Indentation('OKC_CHR_PVT');
1507 okc_debug.log('7000: Entered validate_datetime_cancelled', 2);
1508 END IF;
1509
1510 -- initialize return status
1511 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1512 -- check that data exists
1513 If (p_chrv_rec.datetime_cancelled <> OKC_API.G_MISS_DATE and
1514 p_chrv_rec.datetime_cancelled IS NOT NULL)
1515 Then
1516 If (p_chrv_rec.date_approved <> OKC_API.G_MISS_DATE and
1517 p_chrv_rec.date_approved IS NOT NULL)
1518 Then
1519 If (p_chrv_rec.date_approved < p_chrv_rec.datetime_cancelled) Then
1520 x_return_status := OKC_API.G_RET_STS_ERROR;
1521 End If;
1522 Else
1523 x_return_status := OKC_API.G_RET_STS_ERROR;
1524 End If;
1525 End If;
1526 If (x_return_status = OKC_API.G_RET_STS_ERROR) Then
1527 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1528 p_msg_name => g_invalid_value,
1529 p_token1 => g_col_name_token,
1530 p_token1_value => 'datetime_cancelled');
1531 End If;
1532 IF (l_debug = 'Y') THEN
1533 okc_debug.log('7100: Exiting validate_datetime_cancelled', 2);
1534 okc_debug.Reset_Indentation;
1535 END IF;
1536
1537
1538 exception
1539 when OTHERS then
1540
1541 IF (l_debug = 'Y') THEN
1542 okc_debug.log('7200: Exiting validate_datetime_cancelled:OTHERS Exception', 2);
1543 okc_debug.Reset_Indentation;
1544 END IF;
1545
1546 -- store SQL error message on message stack
1547 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1548 p_msg_name => g_unexpected_error,
1549 p_token1 => g_sqlcode_token,
1550 p_token1_value => sqlcode,
1551 p_token2 => g_sqlerrm_token,
1552 p_token2_value => sqlerrm);
1553 -- notify caller of an error as UNEXPETED error
1554 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1555
1556 End validate_datetime_cancelled;
1557 */
1558
1559 -- Start of comments
1560 --
1561 -- Procedure Name : validate_keep_on_mail_list
1562 -- Description :
1563 -- Business Rules :
1564 -- Parameters :
1565 -- Version : 1.0
1566 -- End of comments
1567 PROCEDURE validate_keep_on_mail_list(x_return_status OUT NOCOPY VARCHAR2,
1568 p_chrv_rec IN chrv_rec_type) IS
1569 BEGIN
1570
1571 IF (l_debug = 'Y') THEN
1572 okc_debug.Set_Indentation('OKC_CHR_PVT');
1573 okc_debug.LOG('7300: Entered validate_keep_on_mail_list', 2);
1574 END IF;
1575
1576 -- initialize return status
1577 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1578
1579 IF (p_chrv_rec.keep_on_mail_list <> OKC_API.G_MISS_CHAR AND
1580 p_chrv_rec.keep_on_mail_list IS NOT NULL)
1581 THEN
1582 -- check allowed values
1583 IF (upper(p_chrv_rec.keep_on_mail_list) NOT IN ('Y', 'N')) THEN
1584 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1585 p_msg_name => g_invalid_value,
1586 p_token1 => g_col_name_token,
1587 p_token1_value => 'keep_on_mail_list');
1588 -- notify caller of an error
1589 x_return_status := OKC_API.G_RET_STS_ERROR;
1590 END IF;
1591 END IF;
1592 IF (l_debug = 'Y') THEN
1593 okc_debug.LOG('7400: Exiting validate_keep_on_mail_list', 2);
1594 okc_debug.Reset_Indentation;
1595 END IF;
1596
1597
1598 EXCEPTION
1599 WHEN OTHERS THEN
1600
1601 IF (l_debug = 'Y') THEN
1602 okc_debug.LOG('7500: Exiting validate_keep_on_mail_list:OTHERS Exception', 2);
1603 okc_debug.Reset_Indentation;
1604 END IF;
1605
1606 -- store SQL error message on message stack
1607 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1608 p_msg_name => g_unexpected_error,
1609 p_token1 => g_sqlcode_token,
1610 p_token1_value => SQLCODE,
1611 p_token2 => g_sqlerrm_token,
1612 p_token2_value => SQLERRM);
1613 -- notify caller of an error as UNEXPETED error
1614 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1615
1616 END validate_keep_on_mail_list;
1617
1618 -- Start of comments
1619 --
1620 -- Procedure Name : validate_set_aside_percent
1621 -- Description :
1622 -- Business Rules :
1623 -- Parameters :
1624 -- Version : 1.0
1625 -- End of comments
1626 PROCEDURE validate_set_aside_percent(x_return_status OUT NOCOPY VARCHAR2,
1627 p_chrv_rec IN chrv_rec_type) IS
1628 BEGIN
1629
1630 IF (l_debug = 'Y') THEN
1631 okc_debug.Set_Indentation('OKC_CHR_PVT');
1632 okc_debug.LOG('7600: Entered validate_set_aside_percent', 2);
1633 END IF;
1634
1635 -- initialize return status
1636 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1637
1638 -- check percent range if not null
1639 IF ((p_chrv_rec.set_aside_percent <> OKC_API.G_MISS_NUM AND
1640 p_chrv_rec.set_aside_percent IS NOT NULL) AND
1641 (p_chrv_rec.set_aside_percent < 0 OR
1642 p_chrv_rec.set_aside_percent > 100))
1643 THEN
1644 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1645 p_msg_name => g_invalid_value,
1646 p_token1 => g_col_name_token,
1647 p_token1_value => 'set_aside_percent');
1648 -- notify caller of an error
1649 x_return_status := OKC_API.G_RET_STS_ERROR;
1650 END IF;
1651
1652 IF (l_debug = 'Y') THEN
1653 okc_debug.LOG('7700: Exiting validate_set_aside_percent', 2);
1654 okc_debug.Reset_Indentation;
1655 END IF;
1656
1657
1658 EXCEPTION
1659 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1660
1661 IF (l_debug = 'Y') THEN
1662 okc_debug.LOG('7800: Exiting validate_set_aside_percent:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1663 okc_debug.Reset_Indentation;
1664 END IF;
1665
1666 -- no processing necessary; validation can continue with next column
1667 NULL;
1668
1669 WHEN OTHERS THEN
1670
1671 IF (l_debug = 'Y') THEN
1672 okc_debug.LOG('7900: Exiting validate_set_aside_percent:OTHERS Exception', 2);
1673 okc_debug.Reset_Indentation;
1674 END IF;
1675
1676 -- store SQL error message on message stack
1677 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1678 p_msg_name => g_unexpected_error,
1679 p_token1 => g_sqlcode_token,
1680 p_token1_value => SQLCODE,
1681 p_token2 => g_sqlerrm_token,
1682 p_token2_value => SQLERRM);
1683 -- notify caller of an error as UNEXPETED error
1684 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1685
1686 END validate_set_aside_percent;
1687 /*
1688 -- Start of comments
1689 --
1690 -- Procedure Name : validate_date_terminated
1691 -- Description :
1692 -- Business Rules :
1693 -- Parameters :
1694 -- Version : 1.0
1695 -- End of comments
1696 PROCEDURE validate_date_terminated(x_return_status OUT NOCOPY VARCHAR2,
1697 p_chrv_rec IN chrv_rec_type) is
1698 Begin
1699
1700 IF (l_debug = 'Y') THEN
1701 okc_debug.Set_Indentation('OKC_CHR_PVT');
1702 okc_debug.log('8000: Entered validate_date_terminated', 2);
1703 END IF;
1704
1705 -- initialize return status
1706 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1707
1708
1709 -- check that data exists
1710 If (p_chrv_rec.date_terminated <> OKC_API.G_MISS_DATE and
1711 p_chrv_rec.date_terminated IS NOT NULL)
1712 Then
1713 If (p_chrv_rec.date_signed <> OKC_API.G_MISS_DATE and
1714 p_chrv_rec.date_signed IS NOT NULL)
1715 Then
1716 If (p_chrv_rec.date_signed > p_chrv_rec.date_terminated) Then
1717 x_return_status := OKC_API.G_RET_STS_ERROR;
1718 End If;
1719 Else
1720 x_return_status := OKC_API.G_RET_STS_ERROR;
1721 End If;
1722 End If;
1723
1724 If (x_return_status = OKC_API.G_RET_STS_ERROR) Then
1725 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1726 p_msg_name => 'OKC_NOT_SIGNED_CONTRACT',
1727 p_token1 => g_col_name_token,
1728 p_token1_value => 'date_terminated');
1729 End If;
1730 IF (l_debug = 'Y') THEN
1731 okc_debug.log('8100: Exiting validate_date_terminated', 2);
1732 okc_debug.Reset_Indentation;
1733 END IF;
1734
1735
1736 exception
1737 when OTHERS then
1738
1739 IF (l_debug = 'Y') THEN
1740 okc_debug.log('8200: Exiting validate_date_terminated:OTHERS Exception', 2);
1741 okc_debug.Reset_Indentation;
1742 END IF;
1743
1744 -- store SQL error message on message stack
1745 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1746 p_msg_name => g_unexpected_error,
1747 p_token1 => g_sqlcode_token,
1748 p_token1_value => sqlcode,
1749 p_token2 => g_sqlerrm_token,
1750 p_token2_value => sqlerrm);
1751 -- notify caller of an error as UNEXPETED error
1752 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1753
1754 End validate_date_terminated;
1755 */
1756 -- Start of comments
1757 --
1758 -- Procedure Name : validate_trn_code
1759 -- Description :
1760 -- Business Rules :
1761 -- Parameters :
1762 -- Version : 1.0
1763 -- End of comments
1764 PROCEDURE validate_trn_code(x_return_status OUT NOCOPY VARCHAR2,
1765 p_chrv_rec IN chrv_rec_type) IS
1766 BEGIN
1767
1768 IF (l_debug = 'Y') THEN
1769 okc_debug.Set_Indentation('OKC_CHR_PVT');
1770 okc_debug.LOG('8300: Entered validate_trn_code', 2);
1771 END IF;
1772
1773 -- initialize return status
1774 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1775
1776 -- enforce foreign key if data exists
1777 IF (p_chrv_rec.trn_code <> OKC_API.G_MISS_CHAR AND
1778 p_chrv_rec.trn_code IS NOT NULL)
1779 THEN
1780 -- Check if the value is a valid code from lookup table
1781 x_return_status := OKC_UTIL.check_lookup_code('OKC_TERMINATION_REASON',
1782 p_chrv_rec.trn_code);
1783 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1784 --set error message in message stack
1785 OKC_API.SET_MESSAGE(
1786 p_app_name => G_APP_NAME,
1787 p_msg_name => G_INVALID_VALUE,
1788 p_token1 => G_COL_NAME_TOKEN,
1789 p_token1_value => 'TERMINATION_REASON');
1790 RAISE G_EXCEPTION_HALT_VALIDATION;
1791 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1792 RAISE G_EXCEPTION_HALT_VALIDATION;
1793 END IF;
1794 END IF;
1795 IF (l_debug = 'Y') THEN
1796 okc_debug.LOG('8400: Exiting validate_trn_code', 2);
1797 okc_debug.Reset_Indentation;
1798 END IF;
1799
1800
1801 EXCEPTION
1802 WHEN OTHERS THEN
1803
1804 IF (l_debug = 'Y') THEN
1805 okc_debug.LOG('8500: Exiting validate_trn_code:OTHERS Exception', 2);
1806 okc_debug.Reset_Indentation;
1807 END IF;
1808
1809 -- store SQL error message on message stack
1810 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1811 p_msg_name => g_unexpected_error,
1812 p_token1 => g_sqlcode_token,
1813 p_token1_value => SQLCODE,
1814 p_token2 => g_sqlerrm_token,
1815 p_token2_value => SQLERRM);
1816 -- notify caller of an error as UNEXPETED error
1817 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1818
1819 END validate_trn_code;
1820
1821 -- Start of comments
1822 --
1823 -- Procedure Name : validate_curr_code_rnwd
1824 -- Description :
1825 -- Business Rules :
1826 -- Parameters :
1827 -- Version : 1.0
1828 -- End of comments
1829 PROCEDURE validate_curr_code_rnwd(x_return_status OUT NOCOPY VARCHAR2,
1830 p_chrv_rec IN chrv_rec_type) IS
1831
1832 l_dummy_var VARCHAR2(1) := '?';
1833 CURSOR l_fndv_csr IS
1834 SELECT 'x'
1835 FROM FND_CURRENCIES_VL
1836 WHERE currency_code = p_chrv_rec.currency_code_renewed
1837 AND SYSDATE BETWEEN nvl(start_date_active, SYSDATE)
1838 AND nvl(end_date_active, SYSDATE);
1839 BEGIN
1840
1841 IF (l_debug = 'Y') THEN
1842 okc_debug.Set_Indentation('OKC_CHR_PVT');
1843 okc_debug.LOG('8600: Entered validate_curr_code_rnwd', 2);
1844 END IF;
1845
1846 -- initialize return status
1847 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1848
1849 -- check that data exists
1850 IF (p_chrv_rec.currency_code_renewed <> OKC_API.G_MISS_CHAR OR
1851 p_chrv_rec.currency_code_renewed IS NOT NULL)
1852 THEN
1853 -- check data is in lookup table
1854 OPEN l_fndv_csr;
1855 FETCH l_fndv_csr INTO l_dummy_var;
1856 CLOSE l_fndv_csr;
1857
1858 -- if l_dummy_var still set to default, data was not found
1859 IF (l_dummy_var = '?') THEN
1860 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1861 p_msg_name => g_no_parent_record,
1862 p_token1 => g_col_name_token,
1863 p_token1_value => 'currency_code_renewed',
1864 p_token2 => g_child_table_token,
1865 p_token2_value => G_VIEW,
1866 p_token3 => g_parent_table_token,
1867 p_token3_value => 'FND_CURRENCIES');
1868 -- notify caller of an error
1869 x_return_status := OKC_API.G_RET_STS_ERROR;
1870 END IF;
1871 END IF;
1872 IF (l_debug = 'Y') THEN
1873 okc_debug.LOG('8700: Exiting validate_curr_code_rnwd', 2);
1874 okc_debug.Reset_Indentation;
1875 END IF;
1876
1877
1878 EXCEPTION
1879 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1880
1881 IF (l_debug = 'Y') THEN
1882 okc_debug.LOG('8800: Exiting validate_curr_code_rnwd:G_EXCEPTION_HALT_VALIDATION Exception', 2);
1883 okc_debug.Reset_Indentation;
1884 END IF;
1885
1886 -- no processing necessary; validation can continue with next column
1887 NULL;
1888
1889 WHEN OTHERS THEN
1890
1891 IF (l_debug = 'Y') THEN
1892 okc_debug.LOG('8900: Exiting validate_curr_code_rnwd:OTHERS Exception', 2);
1893 okc_debug.Reset_Indentation;
1894 END IF;
1895
1896 -- store SQL error message on message stack
1897 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1898 p_msg_name => g_unexpected_error,
1899 p_token1 => g_sqlcode_token,
1900 p_token1_value => SQLCODE,
1901 p_token2 => g_sqlerrm_token,
1902 p_token2_value => SQLERRM);
1903 -- notify caller of an error as UNEXPETED error
1904 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1905
1906 -- verify that cursor was closed
1907 IF l_fndv_csr%ISOPEN THEN
1908 CLOSE l_fndv_csr;
1909 END IF;
1910
1911
1912 END validate_curr_code_rnwd;
1913
1914 PROCEDURE validate_orig_sys_code(x_return_status OUT NOCOPY VARCHAR2,
1915 p_chrv_rec IN chrv_rec_type) IS
1916 BEGIN
1917
1918 IF (l_debug = 'Y') THEN
1919 okc_debug.Set_Indentation('OKC_CHR_PVT');
1920 okc_debug.LOG('9000: Entered validate_orig_sys_code', 2);
1921 END IF;
1922
1923 -- initialize return status
1924 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1925
1926 -- enforce foreign key if data exists
1927 IF (p_chrv_rec.orig_system_source_code <> OKC_API.G_MISS_CHAR AND
1928 p_chrv_rec.orig_system_source_code IS NOT NULL)
1929 THEN
1930 -- Check if the value is a valid code from lookup table
1931 x_return_status := OKC_UTIL.check_lookup_code('OKC_CONTRACT_SOURCES',
1932 p_chrv_rec.orig_system_source_code);
1933 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1934 --set error message in message stack
1935 OKC_API.SET_MESSAGE(
1936 p_app_name => G_APP_NAME,
1937 p_msg_name => G_INVALID_VALUE,
1938 p_token1 => G_COL_NAME_TOKEN,
1939 p_token1_value => 'ORIG_SYSTEM_SOURCE_CODE');
1940 RAISE G_EXCEPTION_HALT_VALIDATION;
1941 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1942 RAISE G_EXCEPTION_HALT_VALIDATION;
1943 END IF;
1944 END IF;
1945 IF (l_debug = 'Y') THEN
1946 okc_debug.LOG('9100: Exiting validate_orig_sys_code', 2);
1947 okc_debug.Reset_Indentation;
1948 END IF;
1949
1950
1951 EXCEPTION
1952 WHEN OTHERS THEN
1953
1954 IF (l_debug = 'Y') THEN
1955 okc_debug.LOG('9200: Exiting validate_orig_sys_code:OTHERS Exception', 2);
1956 okc_debug.Reset_Indentation;
1957 END IF;
1958
1959 -- store SQL error message on message stack
1960 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
1961 p_msg_name => g_unexpected_error,
1962 p_token1 => g_sqlcode_token,
1963 p_token1_value => SQLCODE,
1964 p_token2 => g_sqlerrm_token,
1965 p_token2_value => SQLERRM);
1966 -- notify caller of an error as UNEXPETED error
1967 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1968
1969 END validate_orig_sys_code;
1970
1971 -- Procedure Name : validate_price_list_id
1972 -- Description :
1973 -- Business Rules :
1974 -- Parameters :
1975 -- Version : 1.0
1976 -- End of comments
1977 PROCEDURE validate_price_list_id(x_return_status OUT NOCOPY VARCHAR2,
1978 p_chrv_rec IN chrv_rec_type) IS
1979
1980 l_dummy_var VARCHAR2(1) := '?';
1981
1982 -- Bug 2661571 ricagraw
1983 /* Cursor l_price_list_id_csr Is
1984 select 'x'
1985 from okx_list_headers_v
1986 WHERE id1 = p_chrv_rec.price_list_id
1987 and status = 'A'
1988 and currency_code = p_chrv_rec.currency_code
1989 and sysdate between nvl(start_date_active,sysdate)
1990 and nvl(end_date_active,sysdate);
1991 */
1992 -- Bug 2661571 ricagraw
1993 CURSOR l_price_list_id_csr IS
1994 SELECT 'x'
1995 FROM okx_list_headers_v
1996 WHERE id1 = p_chrv_rec.price_list_id
1997 AND ((status = 'A' AND p_chrv_rec.pricing_date IS NULL) OR
1998 (p_chrv_rec.pricing_date IS NOT NULL
1999 AND p_chrv_rec.pricing_date BETWEEN
2000 nvl(start_date_active, p_chrv_rec.pricing_date)
2001 AND nvl(end_date_active, p_chrv_rec.pricing_date)))
2002 AND currency_code = p_chrv_rec.currency_code;
2003
2004 BEGIN
2005
2006 IF (l_debug = 'Y') THEN
2007 okc_debug.Set_Indentation('OKC_CHR_PVT');
2008 okc_debug.LOG('9300: Entered validate_price_list_id', 2);
2009 END IF;
2010
2011 -- initialize return status
2012 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2013
2014 -- check that data exists
2015 IF (p_chrv_rec.price_list_id <> OKC_API.G_MISS_NUM AND
2016 p_chrv_rec.price_list_id IS NOT NULL) THEN
2017
2018 -- check data is in lookup table
2019 OPEN l_price_list_id_csr;
2020 FETCH l_price_list_id_csr INTO l_dummy_var;
2021 CLOSE l_price_list_id_csr;
2022
2023 -- if l_dummy_var still set to default, data was not found
2024 IF (l_dummy_var = '?') THEN
2025 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2026 p_msg_name => g_invalid_value,
2027 p_token1 => g_col_name_token,
2028 p_token1_value => 'Price List Id');
2029 -- notify caller of an error
2030 x_return_status := OKC_API.G_RET_STS_ERROR;
2031 END IF;
2032 END IF;
2033 IF (l_debug = 'Y') THEN
2034 okc_debug.LOG('9400: Exiting validate_price_list_id', 2);
2035 okc_debug.Reset_Indentation;
2036 END IF;
2037
2038
2039 EXCEPTION
2040 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2041
2042 IF (l_debug = 'Y') THEN
2043 okc_debug.LOG('9500: Exiting validate_price_list_id:G_EXCEPTION_HALT_VALIDATION Exception', 2);
2044 okc_debug.Reset_Indentation;
2045 END IF;
2046
2047 -- no processing necessary; validation can continue with next column
2048 NULL;
2049
2050 WHEN OTHERS THEN
2051
2052 IF (l_debug = 'Y') THEN
2053 okc_debug.LOG('9600: Exiting validate_price_list_id:OTHERS Exception', 2);
2054 okc_debug.Reset_Indentation;
2055 END IF;
2056
2057 -- store SQL error message on message stack
2058 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2059 p_msg_name => g_unexpected_error,
2060 p_token1 => g_sqlcode_token,
2061 p_token1_value => SQLCODE,
2062 p_token2 => g_sqlerrm_token,
2063 p_token2_value => SQLERRM);
2064 -- notify caller of an error as UNEXPETED error
2065 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2066
2067 END validate_price_list_id;
2068
2069 ---------------------------------------------------------------------------
2070 -- PROCEDURE Validate_GOVERNING_CONTRACT_YN
2071 ---------------------------------------------------------------------------
2072 PROCEDURE validate_GOVERNING_CONTRACT_YN(
2073 p_chrv_rec IN chrv_rec_type,
2074 x_return_status OUT NOCOPY VARCHAR2) IS
2075 BEGIN
2076 -- initialize return status
2077 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2078
2079 -- check that data exists
2080 IF (p_chrv_rec.GOVERNING_CONTRACT_YN <> OKC_API.G_MISS_CHAR AND
2081 p_chrv_rec.GOVERNING_CONTRACT_YN IS NOT NULL)
2082 THEN
2083 IF p_chrv_rec.GOVERNING_CONTRACT_YN NOT IN ('Y', 'N') THEN
2084 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2085 p_msg_name => g_invalid_value,
2086 p_token1 => g_col_name_token,
2087 p_token1_value => 'GOVERNING_CONTRACT_YN');
2088 -- notify caller of an error
2089 x_return_status := OKC_API.G_RET_STS_ERROR;
2090
2091 -- halt validation
2092 RAISE G_EXCEPTION_HALT_VALIDATION;
2093 END IF;
2094 END IF;
2095
2096 EXCEPTION
2097 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2098 -- no processing necessary; validation can continue with next column
2099 NULL;
2100
2101 WHEN OTHERS THEN
2102 -- store SQL error message on message stack
2103 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2104 p_msg_name => g_unexpected_error,
2105 p_token1 => g_sqlcode_token,
2106 p_token1_value => SQLCODE,
2107 p_token2 => g_sqlerrm_token,
2108 p_token2_value => SQLERRM);
2109 -- notify caller of an error as UNEXPETED error
2110 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2111 END validate_GOVERNING_CONTRACT_YN;
2112
2113
2114 -- Start of comments
2115 --
2116 -- Procedure Name : validate_renewal_type_code
2117 -- Description :
2118 -- Business Rules :
2119 -- Parameters :
2120 -- Version : 1.0
2121 -- End of comments
2122 PROCEDURE validate_renewal_type_code (x_return_status OUT NOCOPY VARCHAR2,
2123 p_chrv_rec IN chrv_rec_type) IS
2124
2125 BEGIN
2126
2127 IF (l_debug = 'Y') THEN
2128 okc_debug.Set_Indentation('OKC_CHR_PVT');
2129 okc_debug.LOG('9612: Entered validate_renewal_type_code', 2);
2130 END IF;
2131
2132 -- initialize return status
2133 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2134
2135 -- check that data exists
2136 IF (p_chrv_rec.renewal_type_code <> OKC_API.G_MISS_CHAR AND
2137 p_chrv_rec.renewal_type_code IS NOT NULL)
2138 THEN
2139 -- Check if the value is a valid code from lookup table
2140 x_return_status := OKC_UTIL.check_lookup_code('OKC_RENEWAL_TYPE',
2141 p_chrv_rec.renewal_type_code);
2142
2143 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2144 --set error message in message stack
2145 OKC_API.SET_MESSAGE(
2146 p_app_name => G_APP_NAME,
2147 p_msg_name => G_INVALID_VALUE,
2148 p_token1 => G_COL_NAME_TOKEN,
2149 p_token1_value => 'RENEWAL_TYPE');
2150
2151 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2152 RAISE G_EXCEPTION_HALT_VALIDATION;
2153 END IF;
2154 END IF;
2155 IF (l_debug = 'Y') THEN
2156 okc_debug.LOG('9613: Exiting validate_renewal_type_code', 2);
2157 okc_debug.Reset_Indentation;
2158 END IF;
2159
2160
2161 EXCEPTION
2162
2163 WHEN OTHERS THEN
2164
2165 IF (l_debug = 'Y') THEN
2166 okc_debug.LOG('9614: Exiting validate_renewal_type_code:OTHERS Exception', 2);
2167 okc_debug.Reset_Indentation;
2168 END IF;
2169
2170 -- store SQL error message on message stack
2171 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2172 p_msg_name => g_unexpected_error,
2173 p_token1 => g_sqlcode_token,
2174 p_token1_value => SQLCODE,
2175 p_token2 => g_sqlerrm_token,
2176 p_token2_value => SQLERRM);
2177 -- notify caller of an error as UNEXPETED error
2178 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2179
2180
2181
2182 END validate_renewal_type_code;
2183
2184 -- Start of comments
2185 -- From R12 OKS has moved to new renewal type loookup OKS_RENEWAL_TYPE
2186 -- Procedure Name : validate_oks_renewal_type_code
2187 -- Description :
2188 -- Business Rules :
2189 -- Parameters :
2190 -- Version : 1.0
2191 -- End of comments
2192 PROCEDURE validate_oks_renewal_type_code (x_return_status OUT NOCOPY VARCHAR2,
2193 p_chrv_rec IN chrv_rec_type) IS
2194
2195 BEGIN
2196
2197 IF (l_debug = 'Y') THEN
2198 okc_debug.Set_Indentation('OKC_CHR_PVT');
2199 okc_debug.LOG('9612: Entered validate_oks_renewal_type_code', 2);
2200 END IF;
2201
2202 -- initialize return status
2203 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2204
2205 -- check that data exists
2206 IF (p_chrv_rec.renewal_type_code <> OKC_API.G_MISS_CHAR AND
2207 p_chrv_rec.renewal_type_code IS NOT NULL)
2208 THEN
2209 -- Check if the value is a valid code from lookup table
2210 x_return_status := OKC_UTIL.check_lookup_code('OKS_RENEWAL_TYPE',
2211 p_chrv_rec.renewal_type_code);
2212
2213 IF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2214 --set error message in message stack
2215 OKC_API.SET_MESSAGE(
2216 p_app_name => G_APP_NAME,
2217 p_msg_name => G_INVALID_VALUE,
2218 p_token1 => G_COL_NAME_TOKEN,
2219 p_token1_value => 'RENEWAL_TYPE');
2220
2221 ELSIF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2222 RAISE G_EXCEPTION_HALT_VALIDATION;
2223 END IF;
2224 END IF;
2225 IF (l_debug = 'Y') THEN
2226 okc_debug.LOG('9613: Exiting validate_oks_renewal_type_code', 2);
2227 okc_debug.Reset_Indentation;
2228 END IF;
2229
2230
2231 EXCEPTION
2232
2233 WHEN OTHERS THEN
2234
2235 IF (l_debug = 'Y') THEN
2236 okc_debug.LOG('9614: Exiting validate_oks_renewal_type_code:OTHERS Exception', 2);
2237 okc_debug.Reset_Indentation;
2238 END IF;
2239
2240 -- store SQL error message on message stack
2241 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2242 p_msg_name => g_unexpected_error,
2243 p_token1 => g_sqlcode_token,
2244 p_token1_value => SQLCODE,
2245 p_token2 => g_sqlerrm_token,
2246 p_token2_value => SQLERRM);
2247 -- notify caller of an error as UNEXPETED error
2248 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2249
2250
2251
2252 END validate_oks_renewal_type_code;
2253
2254 -- Start of comments
2255 -- R12 Data Model Changes 4485150 Start
2256 -- Procedure Name : validate_approval_type
2257 -- Description :
2258 -- Business Rules :
2259 -- Parameters :
2260 -- Version : 1.0
2261 -- End of comments
2262 PROCEDURE validate_approval_type(x_return_status OUT NOCOPY VARCHAR2,
2263 p_chrv_rec IN chrv_rec_type) IS
2264
2265 l_dummy_var VARCHAR2(1) := '?';
2266 CURSOR l_fndv_csr IS
2267 SELECT 'x'
2268 FROM FND_LOOKUPS
2269 WHERE lookup_code = p_chrv_rec.approval_type
2270 AND (lookup_type = 'OKS_REN_ONLINE_APPROVAL'
2271 OR lookup_type = 'OKS_REN_MANUAL_APPROVAL')
2272 AND SYSDATE BETWEEN nvl(start_date_active, SYSDATE)
2273 AND nvl(end_date_active, SYSDATE)
2274 AND enabled_flag = 'Y';
2275 BEGIN
2276
2277 IF (l_debug = 'Y') THEN
2278 okc_debug.Set_Indentation('OKC_CHR_PVT');
2279 okc_debug.LOG('500: Entered validate_approval_type', 2);
2280 END IF;
2281
2282 -- initialize return status
2283 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2284
2285 -- check that data exists
2286 IF (p_chrv_rec.approval_type = OKC_API.G_MISS_CHAR OR
2287 p_chrv_rec.approval_type IS NULL)
2288 THEN
2289 NULL;
2290 ELSE
2291 -- check data is in lookup table
2292 OPEN l_fndv_csr;
2293 FETCH l_fndv_csr INTO l_dummy_var;
2294 CLOSE l_fndv_csr;
2295
2296 -- if l_dummy_var still set to default, data was not found
2297 IF (l_dummy_var = '?') THEN
2298 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2299 p_msg_name => g_no_parent_record,
2300 p_token1 => g_col_name_token,
2301 p_token1_value => 'approval_type',
2302 p_token2 => g_child_table_token,
2303 p_token2_value => G_VIEW,
2304 p_token3 => g_parent_table_token,
2305 p_token3_value => 'FND_LOOKUPS');
2306 -- notify caller of an error
2307 x_return_status := OKC_API.G_RET_STS_ERROR;
2308 END IF;
2309 IF (l_debug = 'Y') THEN
2310 okc_debug.LOG('600: Exiting validate_approval_type', 2);
2311 okc_debug.Reset_Indentation;
2312 END IF;
2313 END IF;
2314
2315 EXCEPTION
2316 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2317
2318 IF (l_debug = 'Y') THEN
2319 okc_debug.LOG('700: Exiting validate_approval_type:G_EXCEPTION_HALT_VALIDATION Exception', 2);
2320 okc_debug.Reset_Indentation;
2321 END IF;
2322
2323 -- no processing necessary; validation can continue with next column
2324 NULL;
2325
2326 WHEN OTHERS THEN
2327
2328 IF (l_debug = 'Y') THEN
2329 okc_debug.LOG('800: Exiting validate_approval_type:OTHERS Exception', 2);
2330 okc_debug.Reset_Indentation;
2331 END IF;
2332
2333 -- store SQL error message on message stack
2334 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
2335 p_msg_name => g_unexpected_error,
2336 p_token1 => g_sqlcode_token,
2337 p_token1_value => SQLCODE,
2338 p_token2 => g_sqlerrm_token,
2339 p_token2_value => SQLERRM);
2340 -- notify caller of an error as UNEXPETED error
2341 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2342
2343 -- verify that cursor was closed
2344 IF l_fndv_csr%ISOPEN THEN
2345 CLOSE l_fndv_csr;
2346 END IF;
2347
2348
2349 END validate_approval_type;
2350
2351 -- R12 Data Model Changes 4485150 End
2352 /*********************** END HAND-CODED ********************************/
2353
2354 -- FUNCTION get_seq_id
2355 ---------------------------------------------------------------------------
2356 FUNCTION get_seq_id RETURN NUMBER IS
2357
2358 l_id NUMBER;
2359
2360 CURSOR l_seq_csr IS
2361 SELECT okc_k_headers_b_s.NEXTVAL
2362 FROM dual;
2363
2364 BEGIN
2365
2366 IF (l_debug = 'Y') THEN
2367 okc_debug.Set_Indentation('OKC_CHR_PVT');
2368 okc_debug.LOG('9700: Entered get_seq_id', 2);
2369 END IF;
2370
2371 OPEN l_seq_csr;
2372 FETCH l_seq_csr INTO l_id;
2373 CLOSE l_seq_csr;
2374
2375 IF (l_debug = 'Y') THEN
2376 okc_debug.LOG('9700: Sequence Generated is : '|| l_id, 2);
2377 END IF;
2378
2379 -- RETURN(okc_p_util.raw_to_number(sys_guid()));
2380 RETURN l_id;
2381
2382 END get_seq_id;
2383
2384 ---------------------------------------------------------------------------
2385 -- PROCEDURE qc
2386 ---------------------------------------------------------------------------
2387 PROCEDURE qc IS
2388 BEGIN
2389
2390 IF (l_debug = 'Y') THEN
2391 okc_debug.Set_Indentation('OKC_CHR_PVT');
2392 okc_debug.LOG('9800: Entered qc', 2);
2393 END IF;
2394
2395 NULL;
2396
2397 END qc;
2398
2399 ---------------------------------------------------------------------------
2400 -- PROCEDURE change_version
2401 ---------------------------------------------------------------------------
2402 PROCEDURE change_version IS
2403 BEGIN
2404
2405 IF (l_debug = 'Y') THEN
2406 okc_debug.Set_Indentation('OKC_CHR_PVT');
2407 okc_debug.LOG('9900: Entered change_version', 2);
2408 END IF;
2409
2410 NULL;
2411
2412 END change_version;
2413
2414 ---------------------------------------------------------------------------
2415 -- PROCEDURE api_copy
2416 ---------------------------------------------------------------------------
2417 PROCEDURE api_copy IS
2418 BEGIN
2419
2420 IF (l_debug = 'Y') THEN
2421 okc_debug.Set_Indentation('OKC_CHR_PVT');
2422 okc_debug.LOG('10000: Entered api_copy', 2);
2423 END IF;
2424
2425 NULL;
2426
2427 END api_copy;
2428
2429 ---------------------------------------------------------------------------
2430 -- PROCEDURE add_language
2431 ---------------------------------------------------------------------------
2432 PROCEDURE add_language IS
2433 BEGIN
2434
2435 IF (l_debug = 'Y') THEN
2436 okc_debug.Set_Indentation('OKC_CHR_PVT');
2437 okc_debug.LOG('10100: Entered add_language', 2);
2438 END IF;
2439
2440 /* Mar/19/03 requested by Ric Ginsberg */
2441 /* The following delete and update statements are commented out */
2442 /* as a quick workaround to fix the time-consuming table handler issue */
2443 /* Eventually we'll need to turn them into a separate fix_language procedure */
2444 /*
2445
2446 DELETE FROM OKC_K_HEADERS_TL T
2447 WHERE NOT EXISTS (
2448 SELECT NULL
2449 FROM OKC_K_HEADERS_B B
2450 WHERE B.ID = T.ID
2451 );
2452
2453 UPDATE OKC_K_HEADERS_TL T SET (
2454 SHORT_DESCRIPTION,
2455 COMMENTS,
2456 DESCRIPTION,
2457 COGNOMEN,
2458 NON_RESPONSE_REASON,
2459 NON_RESPONSE_EXPLAIN,
2460 SET_ASIDE_REASON) = (SELECT
2461 B.SHORT_DESCRIPTION,
2462 B.COMMENTS,
2463 B.DESCRIPTION,
2464 B.COGNOMEN,
2465 B.NON_RESPONSE_REASON,
2466 B.NON_RESPONSE_EXPLAIN,
2467 B.SET_ASIDE_REASON
2468 FROM OKC_K_HEADERS_TL B
2469 WHERE B.ID = T.ID
2470 AND B.LANGUAGE = T.SOURCE_LANG)
2471 WHERE (
2472 T.ID,
2473 T.LANGUAGE)
2474 IN (SELECT
2475 SUBT.ID,
2476 SUBT.LANGUAGE
2477 FROM OKC_K_HEADERS_TL SUBB, OKC_K_HEADERS_TL SUBT
2478 WHERE SUBB.ID = SUBT.ID
2479 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
2480 AND (SUBB.SHORT_DESCRIPTION <> SUBT.SHORT_DESCRIPTION
2481 OR SUBB.COMMENTS <> SUBT.COMMENTS
2482 OR SUBB.DESCRIPTION <> SUBT.DESCRIPTION
2483 OR SUBB.COGNOMEN <> SUBT.COGNOMEN
2484 OR SUBB.NON_RESPONSE_REASON <> SUBT.NON_RESPONSE_REASON
2485 OR SUBB.NON_RESPONSE_EXPLAIN <> SUBT.NON_RESPONSE_EXPLAIN
2486 OR SUBB.SET_ASIDE_REASON <> SUBT.SET_ASIDE_REASON
2487 OR (SUBB.SHORT_DESCRIPTION IS NULL AND SUBT.SHORT_DESCRIPTION IS NOT NULL)
2488 OR (SUBB.SHORT_DESCRIPTION IS NOT NULL AND SUBT.SHORT_DESCRIPTION IS NULL)
2489 OR (SUBB.COMMENTS IS NULL AND SUBT.COMMENTS IS NOT NULL)
2490 OR (SUBB.COMMENTS IS NOT NULL AND SUBT.COMMENTS IS NULL)
2491 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
2492 OR (SUBB.DESCRIPTION IS NOT NULL AND SUBT.DESCRIPTION IS NULL)
2493 OR (SUBB.COGNOMEN IS NULL AND SUBT.COGNOMEN IS NOT NULL)
2494 OR (SUBB.COGNOMEN IS NOT NULL AND SUBT.COGNOMEN IS NULL)
2495 OR (SUBB.NON_RESPONSE_REASON IS NULL AND SUBT.NON_RESPONSE_REASON IS NOT NULL)
2496 OR (SUBB.NON_RESPONSE_REASON IS NOT NULL AND SUBT.NON_RESPONSE_REASON IS NULL)
2497 OR (SUBB.NON_RESPONSE_EXPLAIN IS NULL AND SUBT.NON_RESPONSE_EXPLAIN IS NOT NULL)
2498 OR (SUBB.NON_RESPONSE_EXPLAIN IS NOT NULL AND SUBT.NON_RESPONSE_EXPLAIN IS NULL)
2499 OR (SUBB.SET_ASIDE_REASON IS NULL AND SUBT.SET_ASIDE_REASON IS NOT NULL)
2500 OR (SUBB.SET_ASIDE_REASON IS NOT NULL AND SUBT.SET_ASIDE_REASON IS NULL)
2501 ));
2502 */
2503 /* Modifying Insert as per performance guidelines given in bug 3723874 */
2504
2505 INSERT /*+ append parallel(tt) */ INTO OKC_K_HEADERS_TL tt(
2506 ID,
2507 LANGUAGE,
2508 SOURCE_LANG,
2509 SFWT_FLAG,
2510 SHORT_DESCRIPTION,
2511 COMMENTS,
2512 DESCRIPTION,
2513 COGNOMEN,
2514 NON_RESPONSE_REASON,
2515 NON_RESPONSE_EXPLAIN,
2516 SET_ASIDE_REASON,
2517 CREATED_BY,
2518 CREATION_DATE,
2519 LAST_UPDATED_BY,
2520 LAST_UPDATE_DATE,
2521 LAST_UPDATE_LOGIN)
2522 SELECT /*+ parallel(v) parallel(t) use_nl(t) */ v. * FROM
2523 (SELECT /*+ no_merge ordered parallel(b) */
2524 B.ID,
2525 L.LANGUAGE_CODE,
2526 B.SOURCE_LANG,
2527 B.SFWT_FLAG,
2528 B.SHORT_DESCRIPTION,
2529 B.COMMENTS,
2530 B.DESCRIPTION,
2531 B.COGNOMEN,
2532 B.NON_RESPONSE_REASON,
2533 B.NON_RESPONSE_EXPLAIN,
2534 B.SET_ASIDE_REASON,
2535 B.CREATED_BY,
2536 B.CREATION_DATE,
2537 B.LAST_UPDATED_BY,
2538 B.LAST_UPDATE_DATE,
2539 B.LAST_UPDATE_LOGIN
2540 FROM OKC_K_HEADERS_TL B, FND_LANGUAGES L
2541 WHERE L.INSTALLED_FLAG IN ('I', 'B')
2542 AND B.LANGUAGE = USERENV('LANG')
2543 ) v, OKC_K_HEADERS_TL t
2544 WHERE t.ID( + ) = v.ID
2545 AND t.language( + ) = v.LANGUAGE_CODE
2546 AND t.id IS NULL;
2547
2548
2549 /* Commenting delete and update for bug 3723874 */
2550 /*
2551 DELETE FROM OKC_K_HEADERS_TLH T
2552 WHERE NOT EXISTS (
2553 SELECT NULL
2554 FROM OKC_K_HEADERS_BH B
2555 WHERE B.ID = T.ID
2556 AND B.MAJOR_VERSION = T.MAJOR_VERSION
2557 );
2558
2559 UPDATE OKC_K_HEADERS_TLH T SET (
2560 SHORT_DESCRIPTION,
2561 COMMENTS,
2562 DESCRIPTION,
2563 COGNOMEN,
2564 NON_RESPONSE_REASON,
2565 NON_RESPONSE_EXPLAIN,
2566 SET_ASIDE_REASON) = (SELECT
2567 B.SHORT_DESCRIPTION,
2568 B.COMMENTS,
2569 B.DESCRIPTION,
2570 B.COGNOMEN,
2571 B.NON_RESPONSE_REASON,
2572 B.NON_RESPONSE_EXPLAIN,
2573 B.SET_ASIDE_REASON
2574 FROM OKC_K_HEADERS_TLH B
2575 WHERE B.ID = T.ID
2576 AND B.MAJOR_VERSION = T.MAJOR_VERSION
2577 AND B.LANGUAGE = T.SOURCE_LANG)
2578 WHERE (
2579 T.ID,
2580 T.MAJOR_VERSION,
2581 T.LANGUAGE)
2582 IN (SELECT
2583 SUBT.ID,
2584 SUBT.MAJOR_VERSION,
2585 SUBT.LANGUAGE
2586 FROM OKC_K_HEADERS_TLH SUBB, OKC_K_HEADERS_TLH SUBT
2587 WHERE SUBB.ID = SUBT.ID
2588 AND SUBB.MAJOR_VERSION = SUBT.MAJOR_VERSION
2589 AND SUBB.LANGUAGE = SUBT.SOURCE_LANG
2590 AND (SUBB.SHORT_DESCRIPTION <> SUBT.SHORT_DESCRIPTION
2591 OR SUBB.COMMENTS <> SUBT.COMMENTS
2592 OR SUBB.DESCRIPTION <> SUBT.DESCRIPTION
2593 OR SUBB.COGNOMEN <> SUBT.COGNOMEN
2594 OR SUBB.NON_RESPONSE_REASON <> SUBT.NON_RESPONSE_REASON
2595 OR SUBB.NON_RESPONSE_EXPLAIN <> SUBT.NON_RESPONSE_EXPLAIN
2596 OR SUBB.SET_ASIDE_REASON <> SUBT.SET_ASIDE_REASON
2597 OR (SUBB.SHORT_DESCRIPTION IS NULL AND SUBT.SHORT_DESCRIPTION IS NOT NULL)
2598 OR (SUBB.SHORT_DESCRIPTION IS NOT NULL AND SUBT.SHORT_DESCRIPTION IS NULL)
2599 OR (SUBB.COMMENTS IS NULL AND SUBT.COMMENTS IS NOT NULL)
2600 OR (SUBB.COMMENTS IS NOT NULL AND SUBT.COMMENTS IS NULL)
2601 OR (SUBB.DESCRIPTION IS NULL AND SUBT.DESCRIPTION IS NOT NULL)
2602 OR (SUBB.DESCRIPTION IS NOT NULL AND SUBT.DESCRIPTION IS NULL)
2603 OR (SUBB.COGNOMEN IS NULL AND SUBT.COGNOMEN IS NOT NULL)
2604 OR (SUBB.COGNOMEN IS NOT NULL AND SUBT.COGNOMEN IS NULL)
2605 OR (SUBB.NON_RESPONSE_REASON IS NULL AND SUBT.NON_RESPONSE_REASON IS NOT NULL)
2606 OR (SUBB.NON_RESPONSE_REASON IS NOT NULL AND SUBT.NON_RESPONSE_REASON IS NULL)
2607 OR (SUBB.NON_RESPONSE_EXPLAIN IS NULL AND SUBT.NON_RESPONSE_EXPLAIN IS NOT NULL)
2608 OR (SUBB.NON_RESPONSE_EXPLAIN IS NOT NULL AND SUBT.NON_RESPONSE_EXPLAIN IS NULL)
2609 OR (SUBB.SET_ASIDE_REASON IS NULL AND SUBT.SET_ASIDE_REASON IS NOT NULL)
2610 OR (SUBB.SET_ASIDE_REASON IS NOT NULL AND SUBT.SET_ASIDE_REASON IS NULL)
2611 ));
2612
2613 */
2614 /* Modifying Insert as per performance guidelines given in bug 3723874 */
2615 INSERT /*+ append parallel(tt) */ INTO OKC_K_HEADERS_TLH tt(
2616 ID,
2617 LANGUAGE,
2618 MAJOR_VERSION,
2619 SOURCE_LANG,
2620 SFWT_FLAG,
2621 SHORT_DESCRIPTION,
2622 COMMENTS,
2623 DESCRIPTION,
2624 COGNOMEN,
2625 NON_RESPONSE_REASON,
2626 NON_RESPONSE_EXPLAIN,
2627 SET_ASIDE_REASON,
2628 CREATED_BY,
2629 CREATION_DATE,
2630 LAST_UPDATED_BY,
2631 LAST_UPDATE_DATE,
2632 LAST_UPDATE_LOGIN)
2633 SELECT /*+ parallel(v) parallel(t) use_nl(t) */ v. * FROM
2634 (SELECT /*+ no_merge ordered parallel(b) */
2635 B.ID,
2636 L.LANGUAGE_CODE,
2637 B.MAJOR_VERSION,
2638 B.SOURCE_LANG,
2639 B.SFWT_FLAG,
2640 B.SHORT_DESCRIPTION,
2641 B.COMMENTS,
2642 B.DESCRIPTION,
2643 B.COGNOMEN,
2644 B.NON_RESPONSE_REASON,
2645 B.NON_RESPONSE_EXPLAIN,
2646 B.SET_ASIDE_REASON,
2647 B.CREATED_BY,
2648 B.CREATION_DATE,
2649 B.LAST_UPDATED_BY,
2650 B.LAST_UPDATE_DATE,
2651 B.LAST_UPDATE_LOGIN
2652 FROM OKC_K_HEADERS_TLH B, FND_LANGUAGES L
2653 WHERE L.INSTALLED_FLAG IN ('I', 'B')
2654 AND B.LANGUAGE = USERENV('LANG')
2655 ) v, OKC_K_HEADERS_TLH t
2656 WHERE T.ID( + ) = v.ID
2657 AND T.MAJOR_VERSION( + ) = v.MAJOR_VERSION
2658 AND T.LANGUAGE( + ) = v.LANGUAGE_CODE
2659 AND t.id IS NULL;
2660
2661
2662 END add_language;
2663
2664 ---------------------------------------------------------------------------
2665 -- FUNCTION get_rec for: OKC_K_HEADERS_ALL_B
2666 ---------------------------------------------------------------------------
2667 FUNCTION get_rec (
2668 p_chr_rec IN chr_rec_type,
2669 x_no_data_found OUT NOCOPY BOOLEAN
2670 ) RETURN chr_rec_type IS
2671 CURSOR chr_pk_csr (p_id IN NUMBER) IS
2672 SELECT
2673 ID,
2674 CONTRACT_NUMBER,
2675 AUTHORING_ORG_ID,
2676 -- ORG_ID, --mmadhavi added for MOAC
2677 CONTRACT_NUMBER_MODIFIER,
2678 CHR_ID_RESPONSE,
2679 CHR_ID_AWARD,
2680 INV_ORGANIZATION_ID,
2681 STS_CODE,
2682 QCL_ID,
2683 SCS_CODE,
2684 TRN_CODE,
2685 CURRENCY_CODE,
2686 ARCHIVED_YN,
2687 DELETED_YN,
2688 TEMPLATE_YN,
2689 CHR_TYPE,
2690 OBJECT_VERSION_NUMBER,
2691 CREATED_BY,
2692 CREATION_DATE,
2693 LAST_UPDATED_BY,
2694 LAST_UPDATE_DATE,
2695 CUST_PO_NUMBER_REQ_YN,
2696 PRE_PAY_REQ_YN,
2697 CUST_PO_NUMBER,
2698 DPAS_RATING,
2699 TEMPLATE_USED,
2700 DATE_APPROVED,
2701 DATETIME_CANCELLED,
2702 AUTO_RENEW_DAYS,
2703 DATE_ISSUED,
2704 DATETIME_RESPONDED,
2705 RFP_TYPE,
2706 KEEP_ON_MAIL_LIST,
2707 SET_ASIDE_PERCENT,
2708 RESPONSE_COPIES_REQ,
2709 DATE_CLOSE_PROJECTED,
2710 DATETIME_PROPOSED,
2711 DATE_SIGNED,
2712 DATE_TERMINATED,
2713 DATE_RENEWED,
2714 START_DATE,
2715 END_DATE,
2716 BUY_OR_SELL,
2717 ISSUE_OR_RECEIVE,
2718 ESTIMATED_AMOUNT,
2719 ESTIMATED_AMOUNT_RENEWED,
2720 CURRENCY_CODE_RENEWED,
2721 LAST_UPDATE_LOGIN,
2722 UPG_ORIG_SYSTEM_REF,
2723 UPG_ORIG_SYSTEM_REF_ID,
2724 APPLICATION_ID,
2725 ORIG_SYSTEM_SOURCE_CODE,
2726 ORIG_SYSTEM_ID1,
2727 ORIG_SYSTEM_REFERENCE1,
2728 PROGRAM_ID,
2729 REQUEST_ID,
2730 PROGRAM_UPDATE_DATE,
2731 PROGRAM_APPLICATION_ID,
2732 PRICE_LIST_ID,
2733 PRICING_DATE,
2734 SIGN_BY_DATE,
2735 TOTAL_LINE_LIST_PRICE,
2736 USER_ESTIMATED_AMOUNT,
2737 GOVERNING_CONTRACT_YN,
2738 ATTRIBUTE_CATEGORY,
2739 ATTRIBUTE1,
2740 ATTRIBUTE2,
2741 ATTRIBUTE3,
2742 ATTRIBUTE4,
2743 ATTRIBUTE5,
2744 ATTRIBUTE6,
2745 ATTRIBUTE7,
2746 ATTRIBUTE8,
2747 ATTRIBUTE9,
2748 ATTRIBUTE10,
2749 ATTRIBUTE11,
2750 ATTRIBUTE12,
2751 ATTRIBUTE13,
2752 ATTRIBUTE14,
2753 ATTRIBUTE15,
2754 -- new colums to replace rules
2755 CONVERSION_TYPE,
2756 CONVERSION_RATE,
2757 CONVERSION_RATE_DATE,
2758 CONVERSION_EURO_RATE,
2759 CUST_ACCT_ID,
2760 BILL_TO_SITE_USE_ID,
2761 INV_RULE_ID,
2762 RENEWAL_TYPE_CODE,
2763 RENEWAL_NOTIFY_TO,
2764 RENEWAL_END_DATE,
2765 SHIP_TO_SITE_USE_ID,
2766 PAYMENT_TERM_ID,
2767 DOCUMENT_ID,
2768 -- R12 Data Model Changes 4485150 Start
2769 APPROVAL_TYPE,
2770 TERM_CANCEL_SOURCE,
2771 PAYMENT_INSTRUCTION_TYPE,
2772 ORG_ID, --mmadhavi added for MOAC
2773 -- R12 Data Model Changes 4485150 End
2774 CANCELLED_AMOUNT -- LLC
2775 FROM Okc_K_Headers_All_B --mmadhavi changed to _ALL for MOAC
2776 WHERE okc_k_headers_all_b.id = p_id;
2777 l_chr_pk chr_pk_csr%ROWTYPE;
2778 l_chr_rec chr_rec_type;
2779 BEGIN
2780
2781 IF (l_debug = 'Y') THEN
2782 okc_debug.Set_Indentation('OKC_CHR_PVT');
2783 okc_debug.LOG('10200: Entered get_rec', 2);
2784 END IF;
2785
2786 x_no_data_found := TRUE;
2787 -- Get current database values
2788 OPEN chr_pk_csr (p_chr_rec.id);
2789 FETCH chr_pk_csr INTO
2790 l_chr_rec.ID,
2791 l_chr_rec.CONTRACT_NUMBER,
2792 l_chr_rec.AUTHORING_ORG_ID,
2793 -- l_chr_rec.ORG_ID, --mmadhavi added for MOAC
2794 l_chr_rec.CONTRACT_NUMBER_MODIFIER,
2795 l_chr_rec.CHR_ID_RESPONSE,
2796 l_chr_rec.CHR_ID_AWARD,
2797 l_chr_rec.INV_ORGANIZATION_ID,
2798 l_chr_rec.STS_CODE,
2799 l_chr_rec.QCL_ID,
2800 l_chr_rec.SCS_CODE,
2801 l_chr_rec.TRN_CODE,
2802 l_chr_rec.CURRENCY_CODE,
2803 l_chr_rec.ARCHIVED_YN,
2804 l_chr_rec.DELETED_YN,
2805 l_chr_rec.TEMPLATE_YN,
2806 l_chr_rec.CHR_TYPE,
2807 l_chr_rec.OBJECT_VERSION_NUMBER,
2808 l_chr_rec.CREATED_BY,
2809 l_chr_rec.CREATION_DATE,
2810 l_chr_rec.LAST_UPDATED_BY,
2811 l_chr_rec.LAST_UPDATE_DATE,
2812 l_chr_rec.CUST_PO_NUMBER_REQ_YN,
2813 l_chr_rec.PRE_PAY_REQ_YN,
2814 l_chr_rec.CUST_PO_NUMBER,
2815 l_chr_rec.DPAS_RATING,
2816 l_chr_rec.TEMPLATE_USED,
2817 l_chr_rec.DATE_APPROVED,
2818 l_chr_rec.DATETIME_CANCELLED,
2819 l_chr_rec.AUTO_RENEW_DAYS,
2820 l_chr_rec.DATE_ISSUED,
2821 l_chr_rec.DATETIME_RESPONDED,
2822 l_chr_rec.RFP_TYPE,
2823 l_chr_rec.KEEP_ON_MAIL_LIST,
2824 l_chr_rec.SET_ASIDE_PERCENT,
2825 l_chr_rec.RESPONSE_COPIES_REQ,
2826 l_chr_rec.DATE_CLOSE_PROJECTED,
2827 l_chr_rec.DATETIME_PROPOSED,
2828 l_chr_rec.DATE_SIGNED,
2829 l_chr_rec.DATE_TERMINATED,
2830 l_chr_rec.DATE_RENEWED,
2831 l_chr_rec.START_DATE,
2832 l_chr_rec.END_DATE,
2833 l_chr_rec.BUY_OR_SELL,
2834 l_chr_rec.ISSUE_OR_RECEIVE,
2835 l_chr_rec.ESTIMATED_AMOUNT,
2836 l_chr_rec.ESTIMATED_AMOUNT_RENEWED,
2837 l_chr_rec.CURRENCY_CODE_RENEWED,
2838 l_chr_rec.LAST_UPDATE_LOGIN,
2839 l_chr_rec.UPG_ORIG_SYSTEM_REF,
2840 l_chr_rec.UPG_ORIG_SYSTEM_REF_ID,
2841 l_chr_rec.APPLICATION_ID,
2842 l_chr_rec.ORIG_SYSTEM_SOURCE_CODE,
2843 l_chr_rec.ORIG_SYSTEM_ID1,
2844 l_chr_rec.ORIG_SYSTEM_REFERENCE1,
2845 l_chr_rec.PROGRAM_ID,
2846 l_chr_rec.REQUEST_ID,
2847 l_chr_rec.PROGRAM_UPDATE_DATE,
2848 l_chr_rec.PROGRAM_APPLICATION_ID,
2849 l_chr_rec.PRICE_LIST_ID,
2850 l_chr_rec.PRICING_DATE,
2851 l_chr_rec.SIGN_BY_DATE,
2852 l_chr_rec.TOTAL_LINE_LIST_PRICE,
2853 l_chr_rec.USER_ESTIMATED_AMOUNT,
2854 l_chr_rec.GOVERNING_CONTRACT_YN,
2855 l_chr_rec.ATTRIBUTE_CATEGORY,
2856 l_chr_rec.ATTRIBUTE1,
2857 l_chr_rec.ATTRIBUTE2,
2858 l_chr_rec.ATTRIBUTE3,
2859 l_chr_rec.ATTRIBUTE4,
2860 l_chr_rec.ATTRIBUTE5,
2861 l_chr_rec.ATTRIBUTE6,
2862 l_chr_rec.ATTRIBUTE7,
2863 l_chr_rec.ATTRIBUTE8,
2864 l_chr_rec.ATTRIBUTE9,
2865 l_chr_rec.ATTRIBUTE10,
2866 l_chr_rec.ATTRIBUTE11,
2867 l_chr_rec.ATTRIBUTE12,
2868 l_chr_rec.ATTRIBUTE13,
2869 l_chr_rec.ATTRIBUTE14,
2870 l_chr_rec.ATTRIBUTE15,
2871 --new columns to replace rules
2872 l_chr_rec.CONVERSION_TYPE,
2873 l_chr_rec.CONVERSION_RATE,
2874 l_chr_rec.CONVERSION_RATE_DATE,
2875 l_chr_rec.CONVERSION_EURO_RATE,
2876 l_chr_rec.CUST_ACCT_ID,
2877 l_chr_rec.BILL_TO_SITE_USE_ID,
2878 l_chr_rec.INV_RULE_ID,
2879 l_chr_rec.RENEWAL_TYPE_CODE,
2880 l_chr_rec.RENEWAL_NOTIFY_TO,
2881 l_chr_rec.RENEWAL_END_DATE,
2882 l_chr_rec.SHIP_TO_SITE_USE_ID,
2883 l_chr_rec.PAYMENT_TERM_ID,
2884 l_chr_rec.DOCUMENT_ID,
2885 -- R12 Data Model Changes 4485150 Start
2886 l_chr_rec.APPROVAL_TYPE,
2887 l_chr_rec.TERM_CANCEL_SOURCE,
2888 l_chr_rec.PAYMENT_INSTRUCTION_TYPE,
2889 l_chr_rec.ORG_ID, --mmadhavi added for MOAC
2890 l_chr_rec.CANCELLED_AMOUNT -- LLC
2891 -- R12 Data Model Changes 4485150 End
2892 ;
2893
2894 x_no_data_found := chr_pk_csr%NOTFOUND;
2895 CLOSE chr_pk_csr;
2896 RETURN(l_chr_rec);
2897
2898 END get_rec;
2899
2900 FUNCTION get_rec (
2901 p_chr_rec IN chr_rec_type
2902 ) RETURN chr_rec_type IS
2903 l_row_notfound BOOLEAN := TRUE;
2904 BEGIN
2905
2906 IF (l_debug = 'Y') THEN
2907 okc_debug.Set_Indentation('OKC_CHR_PVT');
2908 okc_debug.LOG('10300: Entered get_rec', 2);
2909 END IF;
2910
2911 RETURN(get_rec(p_chr_rec, l_row_notfound));
2912
2913 END get_rec;
2914 ---------------------------------------------------------------------------
2915 -- FUNCTION get_rec for: OKC_K_HEADERS_TL
2916 ---------------------------------------------------------------------------
2917 FUNCTION get_rec (
2918 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
2919 x_no_data_found OUT NOCOPY BOOLEAN
2920 ) RETURN okc_k_headers_tl_rec_type IS
2921 CURSOR chr_pktl_csr (p_id IN NUMBER,
2922 p_language IN VARCHAR2) IS
2923 SELECT
2924 ID,
2925 LANGUAGE,
2926 SOURCE_LANG,
2927 SFWT_FLAG,
2928 SHORT_DESCRIPTION,
2929 COMMENTS,
2930 DESCRIPTION,
2931 COGNOMEN,
2932 NON_RESPONSE_REASON,
2933 NON_RESPONSE_EXPLAIN,
2934 SET_ASIDE_REASON,
2935 CREATED_BY,
2936 CREATION_DATE,
2937 LAST_UPDATED_BY,
2938 LAST_UPDATE_DATE,
2939 LAST_UPDATE_LOGIN
2940 FROM Okc_K_Headers_Tl
2941 WHERE okc_k_headers_tl.id = p_id
2942 AND okc_k_headers_tl.language = p_language;
2943 l_chr_pktl chr_pktl_csr%ROWTYPE;
2944 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
2945 BEGIN
2946
2947 IF (l_debug = 'Y') THEN
2948 okc_debug.Set_Indentation('OKC_CHR_PVT');
2949 okc_debug.LOG('10400: Entered get_rec', 2);
2950 END IF;
2951
2952 x_no_data_found := TRUE;
2953 -- Get current database values
2954 OPEN chr_pktl_csr (p_okc_k_headers_tl_rec.id,
2955 p_okc_k_headers_tl_rec.language);
2956 FETCH chr_pktl_csr INTO
2957 l_okc_k_headers_tl_rec.ID,
2958 l_okc_k_headers_tl_rec.LANGUAGE,
2959 l_okc_k_headers_tl_rec.SOURCE_LANG,
2960 l_okc_k_headers_tl_rec.SFWT_FLAG,
2961 l_okc_k_headers_tl_rec.SHORT_DESCRIPTION,
2962 l_okc_k_headers_tl_rec.COMMENTS,
2963 l_okc_k_headers_tl_rec.DESCRIPTION,
2964 l_okc_k_headers_tl_rec.COGNOMEN,
2965 l_okc_k_headers_tl_rec.NON_RESPONSE_REASON,
2966 l_okc_k_headers_tl_rec.NON_RESPONSE_EXPLAIN,
2967 l_okc_k_headers_tl_rec.SET_ASIDE_REASON,
2968 l_okc_k_headers_tl_rec.CREATED_BY,
2969 l_okc_k_headers_tl_rec.CREATION_DATE,
2970 l_okc_k_headers_tl_rec.LAST_UPDATED_BY,
2971 l_okc_k_headers_tl_rec.LAST_UPDATE_DATE,
2972 l_okc_k_headers_tl_rec.LAST_UPDATE_LOGIN;
2973 x_no_data_found := chr_pktl_csr%NOTFOUND;
2974 CLOSE chr_pktl_csr;
2975 RETURN(l_okc_k_headers_tl_rec);
2976
2977 END get_rec;
2978
2979 FUNCTION get_rec (
2980 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type
2981 ) RETURN okc_k_headers_tl_rec_type IS
2982 l_row_notfound BOOLEAN := TRUE;
2983 BEGIN
2984
2985 IF (l_debug = 'Y') THEN
2986 okc_debug.Set_Indentation('OKC_CHR_PVT');
2987 okc_debug.LOG('10500: Entered get_rec', 2);
2988 END IF;
2989
2990 RETURN(get_rec(p_okc_k_headers_tl_rec, l_row_notfound));
2991
2992 END get_rec;
2993 ---------------------------------------------------------------------------
2994 -- FUNCTION get_rec for: OKC_K_HEADERS_V
2995 ---------------------------------------------------------------------------
2996 FUNCTION get_rec (
2997 p_chrv_rec IN chrv_rec_type,
2998 x_no_data_found OUT NOCOPY BOOLEAN
2999 ) RETURN chrv_rec_type IS
3000 CURSOR okc_chrv_pk_csr (p_id IN NUMBER) IS
3001 SELECT
3002 CHRB.ID,
3003 OBJECT_VERSION_NUMBER,
3004 SFWT_FLAG,
3005 CHR_ID_RESPONSE,
3006 CHR_ID_AWARD,
3007 INV_ORGANIZATION_ID,
3008 STS_CODE,
3009 QCL_ID,
3010 SCS_CODE,
3011 CONTRACT_NUMBER,
3012 CURRENCY_CODE,
3013 CONTRACT_NUMBER_MODIFIER,
3014 ARCHIVED_YN,
3015 DELETED_YN,
3016 CUST_PO_NUMBER_REQ_YN,
3017 PRE_PAY_REQ_YN,
3018 CUST_PO_NUMBER,
3019 SHORT_DESCRIPTION,
3020 COMMENTS,
3021 DESCRIPTION,
3022 DPAS_RATING,
3023 COGNOMEN,
3024 TEMPLATE_YN,
3025 TEMPLATE_USED,
3026 DATE_APPROVED,
3027 DATETIME_CANCELLED,
3028 AUTO_RENEW_DAYS,
3029 DATE_ISSUED,
3030 DATETIME_RESPONDED,
3031 NON_RESPONSE_REASON,
3032 NON_RESPONSE_EXPLAIN,
3033 RFP_TYPE,
3034 CHR_TYPE,
3035 KEEP_ON_MAIL_LIST,
3036 SET_ASIDE_REASON,
3037 SET_ASIDE_PERCENT,
3038 RESPONSE_COPIES_REQ,
3039 DATE_CLOSE_PROJECTED,
3040 DATETIME_PROPOSED,
3041 DATE_SIGNED,
3042 DATE_TERMINATED,
3043 DATE_RENEWED,
3044 TRN_CODE,
3045 START_DATE,
3046 END_DATE,
3047 AUTHORING_ORG_ID,
3048 -- ORG_ID, --mmadhavi added for MOAC
3049 BUY_OR_SELL,
3050 ISSUE_OR_RECEIVE,
3051 ESTIMATED_AMOUNT,
3052 ESTIMATED_AMOUNT_RENEWED,
3053 CURRENCY_CODE_RENEWED,
3054 UPG_ORIG_SYSTEM_REF,
3055 UPG_ORIG_SYSTEM_REF_ID,
3056 APPLICATION_ID,
3057 ORIG_SYSTEM_SOURCE_CODE,
3058 ORIG_SYSTEM_ID1,
3059 ORIG_SYSTEM_REFERENCE1,
3060 PROGRAM_ID,
3061 REQUEST_ID,
3062 PROGRAM_UPDATE_DATE,
3063 PROGRAM_APPLICATION_ID,
3064 PRICE_LIST_ID,
3065 PRICING_DATE,
3066 SIGN_BY_DATE,
3067 TOTAL_LINE_LIST_PRICE,
3068 USER_ESTIMATED_AMOUNT,
3069 GOVERNING_CONTRACT_YN,
3070 CONVERSION_TYPE,
3071 CONVERSION_RATE,
3072 CONVERSION_RATE_DATE,
3073 CONVERSION_EURO_RATE,
3074 CUST_ACCT_ID,
3075 BILL_TO_SITE_USE_ID,
3076 INV_RULE_ID,
3077 RENEWAL_TYPE_CODE,
3078 RENEWAL_NOTIFY_TO,
3079 RENEWAL_END_DATE,
3080 SHIP_TO_SITE_USE_ID,
3081 PAYMENT_TERM_ID,
3082 ATTRIBUTE_CATEGORY,
3083 ATTRIBUTE1,
3084 ATTRIBUTE2,
3085 ATTRIBUTE3,
3086 ATTRIBUTE4,
3087 ATTRIBUTE5,
3088 ATTRIBUTE6,
3089 ATTRIBUTE7,
3090 ATTRIBUTE8,
3091 ATTRIBUTE9,
3092 ATTRIBUTE10,
3093 ATTRIBUTE11,
3094 ATTRIBUTE12,
3095 ATTRIBUTE13,
3096 ATTRIBUTE14,
3097 ATTRIBUTE15,
3098 CHRB.CREATED_BY,
3099 CHRB.CREATION_DATE,
3100 CHRB.LAST_UPDATED_BY,
3101 CHRB.LAST_UPDATE_DATE,
3102 CHRB.LAST_UPDATE_LOGIN,
3103 DOCUMENT_ID,
3104 -- R12 Data Model Changes 4485150 Start
3105 APPROVAL_TYPE,
3106 TERM_CANCEL_SOURCE,
3107 PAYMENT_INSTRUCTION_TYPE,
3108 ORG_ID, --mmadhavi added for MOAC
3109 CANCELLED_AMOUNT -- LLC
3110 -- R12 Data Model Changes 4485150 End
3111 FROM OKC_K_HEADERS_ALL_B CHRB,
3112 OKC_K_HEADERS_TL CHRT
3113 WHERE CHRB.ID = p_id
3114 AND CHRB.ID = CHRT.ID
3115 AND CHRT.LANGUAGE = USERENV('LANG');
3116 /* FROM Okc_K_Headers_V
3117 WHERE okc_k_headers_v.id = p_id;*/
3118 l_okc_chrv_pk okc_chrv_pk_csr%ROWTYPE;
3119 l_chrv_rec chrv_rec_type;
3120 BEGIN
3121
3122 IF (l_debug = 'Y') THEN
3123 okc_debug.Set_Indentation('OKC_CHR_PVT');
3124 okc_debug.LOG('10600: Entered get_rec', 2);
3125 END IF;
3126
3127 x_no_data_found := TRUE;
3128 -- Get current database values
3129 OPEN okc_chrv_pk_csr (p_chrv_rec.id);
3130 FETCH okc_chrv_pk_csr INTO
3131 l_chrv_rec.ID,
3132 l_chrv_rec.OBJECT_VERSION_NUMBER,
3133 l_chrv_rec.SFWT_FLAG,
3134 l_chrv_rec.CHR_ID_RESPONSE,
3135 l_chrv_rec.CHR_ID_AWARD,
3136 l_chrv_rec.INV_ORGANIZATION_ID,
3137 l_chrv_rec.STS_CODE,
3138 l_chrv_rec.QCL_ID,
3139 l_chrv_rec.SCS_CODE,
3140 l_chrv_rec.CONTRACT_NUMBER,
3141 l_chrv_rec.CURRENCY_CODE,
3142 l_chrv_rec.CONTRACT_NUMBER_MODIFIER,
3143 l_chrv_rec.ARCHIVED_YN,
3144 l_chrv_rec.DELETED_YN,
3145 l_chrv_rec.CUST_PO_NUMBER_REQ_YN,
3146 l_chrv_rec.PRE_PAY_REQ_YN,
3147 l_chrv_rec.CUST_PO_NUMBER,
3148 l_chrv_rec.SHORT_DESCRIPTION,
3149 l_chrv_rec.COMMENTS,
3150 l_chrv_rec.DESCRIPTION,
3151 l_chrv_rec.DPAS_RATING,
3152 l_chrv_rec.COGNOMEN,
3153 l_chrv_rec.TEMPLATE_YN,
3154 l_chrv_rec.TEMPLATE_USED,
3155 l_chrv_rec.DATE_APPROVED,
3156 l_chrv_rec.DATETIME_CANCELLED,
3157 l_chrv_rec.AUTO_RENEW_DAYS,
3158 l_chrv_rec.DATE_ISSUED,
3159 l_chrv_rec.DATETIME_RESPONDED,
3160 l_chrv_rec.NON_RESPONSE_REASON,
3161 l_chrv_rec.NON_RESPONSE_EXPLAIN,
3162 l_chrv_rec.RFP_TYPE,
3163 l_chrv_rec.CHR_TYPE,
3164 l_chrv_rec.KEEP_ON_MAIL_LIST,
3165 l_chrv_rec.SET_ASIDE_REASON,
3166 l_chrv_rec.SET_ASIDE_PERCENT,
3167 l_chrv_rec.RESPONSE_COPIES_REQ,
3168 l_chrv_rec.DATE_CLOSE_PROJECTED,
3169 l_chrv_rec.DATETIME_PROPOSED,
3170 l_chrv_rec.DATE_SIGNED,
3171 l_chrv_rec.DATE_TERMINATED,
3172 l_chrv_rec.DATE_RENEWED,
3173 l_chrv_rec.TRN_CODE,
3174 l_chrv_rec.START_DATE,
3175 l_chrv_rec.END_DATE,
3176 l_chrv_rec.AUTHORING_ORG_ID,
3177 -- l_chrv_rec.ORG_ID, --mmadhavi added for MOAC
3178 l_chrv_rec.BUY_OR_SELL,
3179 l_chrv_rec.ISSUE_OR_RECEIVE,
3180 l_chrv_rec.ESTIMATED_AMOUNT,
3181 l_chrv_rec.ESTIMATED_AMOUNT_RENEWED,
3182 l_chrv_rec.CURRENCY_CODE_RENEWED,
3183 l_chrv_rec.UPG_ORIG_SYSTEM_REF,
3184 l_chrv_rec.UPG_ORIG_SYSTEM_REF_ID,
3185 l_chrv_rec.APPLICATION_ID,
3186 l_chrv_rec.ORIG_SYSTEM_SOURCE_CODE,
3187 l_chrv_rec.ORIG_SYSTEM_ID1,
3188 l_chrv_rec.ORIG_SYSTEM_REFERENCE1,
3189 l_chrv_rec.program_id,
3190 l_chrv_rec.request_id,
3191 l_chrv_rec.program_update_date,
3192 l_chrv_rec.program_application_id,
3193 l_chrv_rec.price_list_id,
3194 l_chrv_rec.pricing_date,
3195 l_chrv_rec.sign_by_date,
3196 l_chrv_rec.total_line_list_price,
3197 l_chrv_rec.USER_ESTIMATED_AMOUNT,
3198 l_chrv_rec.GOVERNING_CONTRACT_YN,
3199 --new columns to replace rules
3200 l_chrv_rec.CONVERSION_TYPE,
3201 l_chrv_rec.CONVERSION_RATE,
3202 l_chrv_rec.CONVERSION_RATE_DATE,
3203 l_chrv_rec.CONVERSION_EURO_RATE,
3204 l_chrv_rec.CUST_ACCT_ID,
3205 l_chrv_rec.BILL_TO_SITE_USE_ID,
3206 l_chrv_rec.INV_RULE_ID,
3207 l_chrv_rec.RENEWAL_TYPE_CODE,
3208 l_chrv_rec.RENEWAL_NOTIFY_TO,
3209 l_chrv_rec.RENEWAL_END_DATE,
3210 l_chrv_rec.SHIP_TO_SITE_USE_ID,
3211 l_chrv_rec.PAYMENT_TERM_ID,
3212 --
3213 l_chrv_rec.ATTRIBUTE_CATEGORY,
3214 l_chrv_rec.ATTRIBUTE1,
3215 l_chrv_rec.ATTRIBUTE2,
3216 l_chrv_rec.ATTRIBUTE3,
3217 l_chrv_rec.ATTRIBUTE4,
3218 l_chrv_rec.ATTRIBUTE5,
3219 l_chrv_rec.ATTRIBUTE6,
3220 l_chrv_rec.ATTRIBUTE7,
3221 l_chrv_rec.ATTRIBUTE8,
3222 l_chrv_rec.ATTRIBUTE9,
3223 l_chrv_rec.ATTRIBUTE10,
3224 l_chrv_rec.ATTRIBUTE11,
3225 l_chrv_rec.ATTRIBUTE12,
3226 l_chrv_rec.ATTRIBUTE13,
3227 l_chrv_rec.ATTRIBUTE14,
3228 l_chrv_rec.ATTRIBUTE15,
3229 l_chrv_rec.CREATED_BY,
3230 l_chrv_rec.CREATION_DATE,
3231 l_chrv_rec.LAST_UPDATED_BY,
3232 l_chrv_rec.LAST_UPDATE_DATE,
3233 l_chrv_rec.LAST_UPDATE_LOGIN,
3234 l_chrv_rec.DOCUMENT_ID,
3235 -- R12 Data Model Changes 4485150 End
3236 l_chrv_rec.APPROVAL_TYPE,
3237 l_chrv_rec.TERM_CANCEL_SOURCE,
3238 l_chrv_rec.PAYMENT_INSTRUCTION_TYPE,
3239 l_chrv_rec.ORG_ID, --mmadhavi added for MOAC
3240 l_chrv_rec.CANCELLED_AMOUNT -- LLC
3241 -- R12 Data Model Changes 4485150 End
3242 ;
3243 x_no_data_found := okc_chrv_pk_csr%NOTFOUND;
3244 CLOSE okc_chrv_pk_csr;
3245 RETURN(l_chrv_rec);
3246
3247 END get_rec;
3248
3249 FUNCTION get_rec (
3250 p_chrv_rec IN chrv_rec_type
3251 ) RETURN chrv_rec_type IS
3252 l_row_notfound BOOLEAN := TRUE;
3253 BEGIN
3254
3255 IF (l_debug = 'Y') THEN
3256 okc_debug.Set_Indentation('OKC_CHR_PVT');
3257 okc_debug.LOG('10700: Entered get_rec', 2);
3258 END IF;
3259
3260 RETURN(get_rec(p_chrv_rec, l_row_notfound));
3261
3262 END get_rec;
3263
3264 -----------------------------------------------------
3265 -- FUNCTION null_out_defaults for: OKC_K_HEADERS_V --
3266 -----------------------------------------------------
3267 FUNCTION null_out_defaults (
3268 p_chrv_rec IN chrv_rec_type
3269 ) RETURN chrv_rec_type IS
3270 l_chrv_rec chrv_rec_type := p_chrv_rec;
3271 BEGIN
3272
3273 IF (l_debug = 'Y') THEN
3274 okc_debug.Set_Indentation('OKC_CHR_PVT');
3275 okc_debug.LOG('10800: Entered null_out_defaults', 2);
3276 END IF;
3277
3278 IF (l_chrv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
3279 l_chrv_rec.object_version_number := NULL;
3280 END IF;
3281 IF (l_chrv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
3282 l_chrv_rec.sfwt_flag := NULL;
3283 END IF;
3284 IF (l_chrv_rec.chr_id_response = OKC_API.G_MISS_NUM) THEN
3285 l_chrv_rec.chr_id_response := NULL;
3286 END IF;
3287 IF (l_chrv_rec.chr_id_award = OKC_API.G_MISS_NUM) THEN
3288 l_chrv_rec.chr_id_award := NULL;
3289 END IF;
3290 IF (l_chrv_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM) THEN
3291 l_chrv_rec.INV_ORGANIZATION_ID := NULL;
3292 END IF;
3293 IF (l_chrv_rec.sts_code = OKC_API.G_MISS_CHAR) THEN
3294 l_chrv_rec.sts_code := NULL;
3295 END IF;
3296 IF (l_chrv_rec.qcl_id = OKC_API.G_MISS_NUM) THEN
3297 l_chrv_rec.qcl_id := NULL;
3298 END IF;
3299 IF (l_chrv_rec.scs_code = OKC_API.G_MISS_CHAR) THEN
3300 l_chrv_rec.scs_code := NULL;
3301 END IF;
3302 IF (l_chrv_rec.contract_number = OKC_API.G_MISS_CHAR) THEN
3303 l_chrv_rec.contract_number := NULL;
3304 END IF;
3305 IF (l_chrv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
3306 l_chrv_rec.currency_code := NULL;
3307 END IF;
3308 IF (l_chrv_rec.contract_number_modifier = OKC_API.G_MISS_CHAR) THEN
3309 l_chrv_rec.contract_number_modifier := NULL;
3310 END IF;
3311 IF (l_chrv_rec.archived_yn = OKC_API.G_MISS_CHAR) THEN
3312 l_chrv_rec.archived_yn := NULL;
3313 END IF;
3314 IF (l_chrv_rec.deleted_yn = OKC_API.G_MISS_CHAR) THEN
3315 l_chrv_rec.deleted_yn := NULL;
3316 END IF;
3317 IF (l_chrv_rec.cust_po_number_req_yn = OKC_API.G_MISS_CHAR) THEN
3318 l_chrv_rec.cust_po_number_req_yn := NULL;
3319 END IF;
3320 IF (l_chrv_rec.pre_pay_req_yn = OKC_API.G_MISS_CHAR) THEN
3321 l_chrv_rec.pre_pay_req_yn := NULL;
3322 END IF;
3323 IF (l_chrv_rec.cust_po_number = OKC_API.G_MISS_CHAR) THEN
3324 l_chrv_rec.cust_po_number := NULL;
3325 END IF;
3326 IF (l_chrv_rec.short_description = OKC_API.G_MISS_CHAR) THEN
3327 l_chrv_rec.short_description := NULL;
3328 END IF;
3329 IF (l_chrv_rec.comments = OKC_API.G_MISS_CHAR) THEN
3330 l_chrv_rec.comments := NULL;
3331 END IF;
3332 IF (l_chrv_rec.description = OKC_API.G_MISS_CHAR) THEN
3333 l_chrv_rec.description := NULL;
3334 END IF;
3335 IF (l_chrv_rec.dpas_rating = OKC_API.G_MISS_CHAR) THEN
3336 l_chrv_rec.dpas_rating := NULL;
3337 END IF;
3338 IF (l_chrv_rec.cognomen = OKC_API.G_MISS_CHAR) THEN
3339 l_chrv_rec.cognomen := NULL;
3340 END IF;
3341 IF (l_chrv_rec.template_yn = OKC_API.G_MISS_CHAR) THEN
3342 l_chrv_rec.template_yn := NULL;
3343 END IF;
3344 IF (l_chrv_rec.template_used = OKC_API.G_MISS_CHAR) THEN
3345 l_chrv_rec.template_used := NULL;
3346 END IF;
3347 IF (l_chrv_rec.date_approved = OKC_API.G_MISS_DATE) THEN
3348 l_chrv_rec.date_approved := NULL;
3349 END IF;
3350 IF (l_chrv_rec.datetime_cancelled = OKC_API.G_MISS_DATE) THEN
3351 l_chrv_rec.datetime_cancelled := NULL;
3352 END IF;
3353 IF (l_chrv_rec.auto_renew_days = OKC_API.G_MISS_NUM) THEN
3354 l_chrv_rec.auto_renew_days := NULL;
3355 END IF;
3356 IF (l_chrv_rec.date_issued = OKC_API.G_MISS_DATE) THEN
3357 l_chrv_rec.date_issued := NULL;
3358 END IF;
3359 IF (l_chrv_rec.datetime_responded = OKC_API.G_MISS_DATE) THEN
3360 l_chrv_rec.datetime_responded := NULL;
3361 END IF;
3362 IF (l_chrv_rec.non_response_reason = OKC_API.G_MISS_CHAR) THEN
3363 l_chrv_rec.non_response_reason := NULL;
3364 END IF;
3365 IF (l_chrv_rec.non_response_explain = OKC_API.G_MISS_CHAR) THEN
3366 l_chrv_rec.non_response_explain := NULL;
3367 END IF;
3368 IF (l_chrv_rec.rfp_type = OKC_API.G_MISS_CHAR) THEN
3369 l_chrv_rec.rfp_type := NULL;
3370 END IF;
3371 IF (l_chrv_rec.chr_type = OKC_API.G_MISS_CHAR) THEN
3372 l_chrv_rec.chr_type := NULL;
3373 END IF;
3374 IF (l_chrv_rec.keep_on_mail_list = OKC_API.G_MISS_CHAR) THEN
3375 l_chrv_rec.keep_on_mail_list := NULL;
3376 END IF;
3377 IF (l_chrv_rec.set_aside_reason = OKC_API.G_MISS_CHAR) THEN
3378 l_chrv_rec.set_aside_reason := NULL;
3379 END IF;
3380 IF (l_chrv_rec.set_aside_percent = OKC_API.G_MISS_NUM) THEN
3381 l_chrv_rec.set_aside_percent := NULL;
3382 END IF;
3383 IF (l_chrv_rec.response_copies_req = OKC_API.G_MISS_NUM) THEN
3384 l_chrv_rec.response_copies_req := NULL;
3385 END IF;
3386 IF (l_chrv_rec.date_close_projected = OKC_API.G_MISS_DATE) THEN
3387 l_chrv_rec.date_close_projected := NULL;
3388 END IF;
3389 IF (l_chrv_rec.datetime_proposed = OKC_API.G_MISS_DATE) THEN
3390 l_chrv_rec.datetime_proposed := NULL;
3391 END IF;
3392 IF (l_chrv_rec.date_signed = OKC_API.G_MISS_DATE) THEN
3393 l_chrv_rec.date_signed := NULL;
3394 END IF;
3395 IF (l_chrv_rec.date_terminated = OKC_API.G_MISS_DATE) THEN
3396 l_chrv_rec.date_terminated := NULL;
3397 END IF;
3398 IF (l_chrv_rec.date_renewed = OKC_API.G_MISS_DATE) THEN
3399 l_chrv_rec.date_renewed := NULL;
3400 END IF;
3401 IF (l_chrv_rec.trn_code = OKC_API.G_MISS_CHAR) THEN
3402 l_chrv_rec.trn_code := NULL;
3403 END IF;
3404 IF (l_chrv_rec.start_date = OKC_API.G_MISS_DATE) THEN
3405 l_chrv_rec.start_date := NULL;
3406 END IF;
3407 IF (l_chrv_rec.end_date = OKC_API.G_MISS_DATE) THEN
3408 l_chrv_rec.end_date := NULL;
3409 END IF;
3410 IF (l_chrv_rec.authoring_org_id = OKC_API.G_MISS_NUM) THEN
3411 l_chrv_rec.authoring_org_id := NULL;
3412 END IF;
3413 --mmadhavi added for MOAC
3414
3415 IF (l_chrv_rec.org_id = OKC_API.G_MISS_NUM) THEN
3416 l_chrv_rec.org_id := NULL;
3417 END IF;
3418
3419 --mmadhavi end MOAC
3420 IF (l_chrv_rec.buy_or_sell = OKC_API.G_MISS_CHAR) THEN
3421 l_chrv_rec.buy_or_sell := NULL;
3422 END IF;
3423 IF (l_chrv_rec.issue_or_receive = OKC_API.G_MISS_CHAR) THEN
3424 l_chrv_rec.issue_or_receive := NULL;
3425 END IF;
3426 IF (l_chrv_rec.estimated_amount = OKC_API.G_MISS_NUM) THEN
3427 l_chrv_rec.estimated_amount := NULL;
3428 END IF;
3429 IF (l_chrv_rec.estimated_amount_renewed = OKC_API.G_MISS_NUM) THEN
3430 l_chrv_rec.estimated_amount_renewed := NULL;
3431 END IF;
3432 IF (l_chrv_rec.currency_code_renewed = OKC_API.G_MISS_CHAR) THEN
3433 l_chrv_rec.currency_code_renewed := NULL;
3434 END IF;
3435 IF (l_chrv_rec.upg_orig_system_ref = OKC_API.G_MISS_CHAR) THEN
3436 l_chrv_rec.upg_orig_system_ref := NULL;
3437 END IF;
3438 IF (l_chrv_rec.upg_orig_system_ref_id = OKC_API.G_MISS_NUM) THEN
3439 l_chrv_rec.upg_orig_system_ref_id := NULL;
3440 END IF;
3441 IF (l_chrv_rec.program_id = OKC_API.G_MISS_NUM) THEN
3442 l_chrv_rec.program_id := NULL;
3443 END IF;
3444 IF (l_chrv_rec.request_id = OKC_API.G_MISS_NUM) THEN
3445 l_chrv_rec.request_id := NULL;
3446 END IF;
3447 IF (l_chrv_rec.program_update_date = OKC_API.G_MISS_DATE) THEN
3448 l_chrv_rec.program_update_date := NULL;
3449 END IF;
3450 IF (l_chrv_rec.program_application_id = OKC_API.G_MISS_NUM) THEN
3451 l_chrv_rec.program_application_id := NULL;
3452 END IF;
3453 IF (l_chrv_rec.price_list_id = OKC_API.G_MISS_NUM) THEN
3454 l_chrv_rec.price_list_id := NULL;
3455 END IF;
3456 IF (l_chrv_rec.pricing_date = OKC_API.G_MISS_DATE) THEN
3457 l_chrv_rec.pricing_date := NULL;
3458 END IF;
3459 IF (l_chrv_rec.sign_by_date = OKC_API.G_MISS_DATE) THEN
3460 l_chrv_rec.sign_by_date := NULL;
3461 END IF;
3462 IF (l_chrv_rec.total_line_list_price = OKC_API.G_MISS_NUM) THEN
3463 l_chrv_rec.total_line_list_price := NULL;
3464 END IF;
3465 IF (l_chrv_rec.application_id = OKC_API.G_MISS_NUM) THEN
3466 l_chrv_rec.application_id := NULL;
3467 END IF;
3468 IF (l_chrv_rec.orig_system_source_code = OKC_API.G_MISS_CHAR ) THEN
3469 l_chrv_rec.orig_system_source_code := NULL;
3470 END IF;
3471 IF (l_chrv_rec.orig_system_id1 = OKC_API.G_MISS_NUM ) THEN
3472 l_chrv_rec.orig_system_id1 := NULL;
3473 END IF;
3474 IF (l_chrv_rec.orig_system_reference1 = OKC_API.G_MISS_CHAR ) THEN
3475 l_chrv_rec.orig_system_reference1 := NULL;
3476 END IF;
3477
3478 IF (l_chrv_rec.USER_ESTIMATED_AMOUNT = OKC_API.G_MISS_NUM ) THEN
3479 l_chrv_rec.USER_ESTIMATED_AMOUNT := NULL;
3480 END IF;
3481
3482 IF (l_chrv_rec.GOVERNING_CONTRACT_YN = OKC_API.G_MISS_CHAR ) THEN
3483 l_chrv_rec.GOVERNING_CONTRACT_YN := NULL;
3484 END IF;
3485
3486 IF (l_chrv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
3487 l_chrv_rec.attribute_category := NULL;
3488 END IF;
3489 IF (l_chrv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
3490 l_chrv_rec.attribute1 := NULL;
3491 END IF;
3492 IF (l_chrv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
3493 l_chrv_rec.attribute2 := NULL;
3494 END IF;
3495 IF (l_chrv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
3496 l_chrv_rec.attribute3 := NULL;
3497 END IF;
3498 IF (l_chrv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
3499 l_chrv_rec.attribute4 := NULL;
3500 END IF;
3501 IF (l_chrv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
3502 l_chrv_rec.attribute5 := NULL;
3503 END IF;
3504 IF (l_chrv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
3505 l_chrv_rec.attribute6 := NULL;
3506 END IF;
3507 IF (l_chrv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
3508 l_chrv_rec.attribute7 := NULL;
3509 END IF;
3510 IF (l_chrv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
3511 l_chrv_rec.attribute8 := NULL;
3512 END IF;
3513 IF (l_chrv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
3514 l_chrv_rec.attribute9 := NULL;
3515 END IF;
3516 IF (l_chrv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
3517 l_chrv_rec.attribute10 := NULL;
3518 END IF;
3519 IF (l_chrv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
3520 l_chrv_rec.attribute11 := NULL;
3521 END IF;
3522 IF (l_chrv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
3523 l_chrv_rec.attribute12 := NULL;
3524 END IF;
3525 IF (l_chrv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
3526 l_chrv_rec.attribute13 := NULL;
3527 END IF;
3528 IF (l_chrv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
3529 l_chrv_rec.attribute14 := NULL;
3530 END IF;
3531 IF (l_chrv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
3532 l_chrv_rec.attribute15 := NULL;
3533 END IF;
3534 IF (l_chrv_rec.created_by = OKC_API.G_MISS_NUM) THEN
3535 l_chrv_rec.created_by := NULL;
3536 END IF;
3537 IF (l_chrv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
3538 l_chrv_rec.creation_date := NULL;
3539 END IF;
3540 IF (l_chrv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
3541 l_chrv_rec.last_updated_by := NULL;
3542 END IF;
3543 IF (l_chrv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
3544 l_chrv_rec.last_update_date := NULL;
3545 END IF;
3546 IF (l_chrv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
3547 l_chrv_rec.last_update_login := NULL;
3548 END IF;
3549 -- new columns to replace rules
3550 IF (l_chrv_rec.conversion_type = OKC_API.G_MISS_CHAR) THEN
3551 l_chrv_rec.conversion_type := NULL;
3552 END IF;
3553 IF (l_chrv_rec.conversion_rate = OKC_API.G_MISS_NUM) THEN
3554 l_chrv_rec.conversion_rate := NULL;
3555 END IF;
3556 IF (l_chrv_rec.conversion_rate_date = OKC_API.G_MISS_DATE) THEN
3557 l_chrv_rec.conversion_rate_date := NULL;
3558 END IF;
3559 IF (l_chrv_rec.conversion_euro_rate = OKC_API.G_MISS_NUM) THEN
3560 l_chrv_rec.conversion_euro_rate := NULL;
3561 END IF;
3562 IF (l_chrv_rec.cust_acct_id = OKC_API.G_MISS_NUM) THEN
3563 l_chrv_rec .cust_acct_id := NULL;
3564 END IF;
3565 IF (l_chrv_rec.bill_to_site_use_id = OKC_API.G_MISS_NUM) THEN
3566 l_chrv_rec.bill_to_site_use_id := NULL;
3567 END IF;
3568 IF (l_chrv_rec.inv_rule_id = OKC_API.G_MISS_NUM) THEN
3569 l_chrv_rec.inv_rule_id := NULL;
3570 END IF;
3571 IF (l_chrv_rec.renewal_type_code = OKC_API.G_MISS_CHAR) THEN
3572 l_chrv_rec.renewal_type_code := NULL;
3573 END IF;
3574 IF (l_chrv_rec.renewal_notify_to = OKC_API.G_MISS_NUM) THEN
3575 l_chrv_rec.renewal_notify_to := NULL;
3576 END IF;
3577 IF (l_chrv_rec.renewal_end_date = OKC_API.G_MISS_DATE) THEN
3578 l_chrv_rec.renewal_end_date := NULL;
3579 END IF;
3580 IF (l_chrv_rec.ship_to_site_use_id = OKC_API.G_MISS_NUM) THEN
3581 l_chrv_rec.ship_to_site_use_id := NULL;
3582 END IF;
3583 IF (l_chrv_rec.payment_term_id = OKC_API.G_MISS_NUM) THEN
3584 l_chrv_rec.payment_term_id := NULL;
3585 END IF;
3586 -- R12 Data Model Changes 4485150 Start
3587 IF (l_chrv_rec.approval_type = OKC_API.G_MISS_CHAR) THEN
3588 l_chrv_rec.approval_type := NULL;
3589 END IF;
3590 IF (l_chrv_rec.term_cancel_source = OKC_API.G_MISS_CHAR) THEN
3591 l_chrv_rec.term_cancel_source := NULL;
3592 END IF;
3593 IF (l_chrv_rec.payment_instruction_type = OKC_API.G_MISS_CHAR) THEN
3594 l_chrv_rec.payment_instruction_type := NULL;
3595 END IF;
3596 -- LLC
3597 IF (l_chrv_rec.cancelled_amount = OKC_API.G_MISS_NUM) THEN
3598 l_chrv_rec.cancelled_amount := NULL;
3599 END IF;
3600 -- R12 Data Model Changes 4485150 End
3601 RETURN(l_chrv_rec);
3602
3603 END null_out_defaults;
3604 ---------------------------------------------------------------------------
3605 -- PROCEDURE Validate_Attributes
3606 ---------------------------------------------------------------------------
3607 ---------------------------------------------
3608 -- Validate_Attributes for:OKC_K_HEADERS_V --
3609 ---------------------------------------------
3610 FUNCTION Validate_Attributes (
3611 p_chrv_rec IN chrv_rec_type
3612 ) RETURN VARCHAR2 IS
3613 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3614 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3615 BEGIN
3616
3617 IF (l_debug = 'Y') THEN
3618 okc_debug.Set_Indentation('OKC_CHR_PVT');
3619 okc_debug.LOG('10900: Entered Validate_Attributes', 2);
3620 END IF;
3621
3622 /************************ HAND-CODED *********************************/
3623 validate_contract_number
3624 (x_return_status => l_return_status,
3625 p_chrv_rec => p_chrv_rec);
3626
3627 -- store the highest degree of error
3628 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3629 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3630 x_return_status := l_return_status;
3631 END IF;
3632 END IF;
3633
3634 validate_currency_code
3635 (x_return_status => l_return_status,
3636 p_chrv_rec => p_chrv_rec);
3637
3638 -- store the highest degree of error
3639 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3640 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3641 x_return_status := l_return_status;
3642 END IF;
3643 END IF;
3644
3645 validate_sfwt_flag
3646 (x_return_status => l_return_status,
3647 p_chrv_rec => p_chrv_rec);
3648
3649 -- store the highest degree of error
3650 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3651 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3652 x_return_status := l_return_status;
3653 END IF;
3654 END IF;
3655
3656 validate_chr_id_response
3657 (x_return_status => l_return_status,
3658 p_chrv_rec => p_chrv_rec);
3659
3660 -- store the highest degree of error
3661 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3662 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3663 x_return_status := l_return_status;
3664 END IF;
3665 END IF;
3666
3667 validate_chr_id_award
3668 (x_return_status => l_return_status,
3669 p_chrv_rec => p_chrv_rec);
3670
3671 -- store the highest degree of error
3672 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3673 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3674 x_return_status := l_return_status;
3675 END IF;
3676 END IF;
3677
3678 validate_INV_ORGANIZATION_ID
3679 (x_return_status => l_return_status,
3680 p_chrv_rec => p_chrv_rec);
3681
3682 -- store the highest degree of error
3683 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3684 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3685 x_return_status := l_return_status;
3686 END IF;
3687 END IF;
3688
3689 validate_sts_code
3690 (x_return_status => l_return_status,
3691 p_chrv_rec => p_chrv_rec);
3692
3693 -- store the highest degree of error
3694 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3695 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3696 x_return_status := l_return_status;
3697 END IF;
3698 END IF;
3699
3700 validate_qcl_id
3701 (x_return_status => l_return_status,
3702 p_chrv_rec => p_chrv_rec);
3703
3704 -- store the highest degree of error
3705 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3706 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3707 x_return_status := l_return_status;
3708 END IF;
3709 END IF;
3710
3711 validate_org_ids
3712 (x_return_status => l_return_status,
3713 p_chrv_rec => p_chrv_rec);
3714
3715 -- store the highest degree of error
3716 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3717 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3718 x_return_status := l_return_status;
3719 END IF;
3720 END IF;
3721
3722 validate_buy_or_sell
3723 (x_return_status => l_return_status,
3724 p_chrv_rec => p_chrv_rec);
3725
3726 -- store the highest degree of error
3727 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3728 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3729 x_return_status := l_return_status;
3730 END IF;
3731 END IF;
3732
3733 validate_issue_or_receive
3734 (x_return_status => l_return_status,
3735 p_chrv_rec => p_chrv_rec);
3736
3737 -- store the highest degree of error
3738 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3739 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3740 x_return_status := l_return_status;
3741 END IF;
3742 END IF;
3743
3744 validate_scs_code
3745 (x_return_status => l_return_status,
3746 p_chrv_rec => p_chrv_rec);
3747
3748 -- store the highest degree of error
3749 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3750 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3751 x_return_status := l_return_status;
3752 END IF;
3753 END IF;
3754
3755 validate_archived_yn
3756 (x_return_status => l_return_status,
3757 p_chrv_rec => p_chrv_rec);
3758
3759 -- store the highest degree of error
3760 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3761 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3762 x_return_status := l_return_status;
3763 END IF;
3764 END IF;
3765
3766 validate_deleted_yn
3767 (x_return_status => l_return_status,
3768 p_chrv_rec => p_chrv_rec);
3769
3770 -- store the highest degree of error
3771 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3772 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3773 x_return_status := l_return_status;
3774 END IF;
3775 END IF;
3776
3777 validate_cust_po_number_req_yn
3778 (x_return_status => l_return_status,
3779 p_chrv_rec => p_chrv_rec);
3780
3781 -- store the highest degree of error
3782 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3783 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3784 x_return_status := l_return_status;
3785 END IF;
3786 END IF;
3787
3788 validate_pre_pay_req_yn
3789 (x_return_status => l_return_status,
3790 p_chrv_rec => p_chrv_rec);
3791
3792 -- store the highest degree of error
3793 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3794 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3795 x_return_status := l_return_status;
3796 END IF;
3797 END IF;
3798
3799 validate_template_yn
3800 (x_return_status => l_return_status,
3801 p_chrv_rec => p_chrv_rec);
3802
3803 -- store the highest degree of error
3804 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3805 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3806 x_return_status := l_return_status;
3807 END IF;
3808 END IF;
3809
3810 validate_chr_type
3811 (x_return_status => l_return_status,
3812 p_chrv_rec => p_chrv_rec);
3813
3814 -- store the highest degree of error
3815 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3816 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3817 x_return_status := l_return_status;
3818 END IF;
3819 END IF;
3820
3821 /*
3822 validate_datetime_cancelled
3823 (x_return_status => l_return_status,
3824 p_chrv_rec => p_chrv_rec);
3825
3826 -- store the highest degree of error
3827 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
3828 If x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
3829 x_return_status := l_return_status;
3830 End If;
3831 End If;
3832 */
3833 validate_keep_on_mail_list
3834 (x_return_status => l_return_status,
3835 p_chrv_rec => p_chrv_rec);
3836
3837 -- store the highest degree of error
3838 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3839 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3840 x_return_status := l_return_status;
3841 END IF;
3842 END IF;
3843
3844 validate_set_aside_percent
3845 (x_return_status => l_return_status,
3846 p_chrv_rec => p_chrv_rec);
3847
3848 -- store the highest degree of error
3849 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3850 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3851 x_return_status := l_return_status;
3852 END IF;
3853 END IF;
3854 /*
3855 validate_date_terminated
3856 (x_return_status => l_return_status,
3857 p_chrv_rec => p_chrv_rec);
3858
3859 -- store the highest degree of error
3860 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
3861 If x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
3862 x_return_status := l_return_status;
3863 End If;
3864 End If;
3865 */
3866 validate_trn_code
3867 (x_return_status => l_return_status,
3868 p_chrv_rec => p_chrv_rec);
3869
3870 -- store the highest degree of error
3871 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3872 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3873 x_return_status := l_return_status;
3874 END IF;
3875 END IF;
3876 /*
3877 validate_chr_id_rnwd_to
3878 (x_return_status => l_return_status,
3879 p_chrv_rec => p_chrv_rec);
3880
3881 -- store the highest degree of error
3882 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
3883 If x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
3884 x_return_status := l_return_status;
3885 End If;
3886 End If;
3887 */
3888 validate_curr_code_rnwd
3889 (x_return_status => l_return_status,
3890 p_chrv_rec => p_chrv_rec);
3891
3892 -- store the highest degree of error
3893 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3894 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3895 x_return_status := l_return_status;
3896 END IF;
3897 END IF;
3898
3899 validate_orig_sys_code
3900 (x_return_status => l_return_status,
3901 p_chrv_rec => p_chrv_rec);
3902
3903 -- store the highest degree of error
3904 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3905 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3906 x_return_status := l_return_status;
3907 END IF;
3908 END IF;
3909 /* Bug 3652127 Price list not validated for OKS*/
3910 IF l_application_id <> 515 THEN
3911 validate_PRICE_LIST_ID
3912 (x_return_status => l_return_status,
3913 p_chrv_rec => p_chrv_rec);
3914
3915 -- store the highest degree of error
3916 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3917 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3918 x_return_status := l_return_status;
3919 END IF;
3920 END IF;
3921 END IF;
3922
3923 --From R12 onwards, OKS has it's won renewal type
3924 IF l_application_id <> 515 THEN
3925 validate_renewal_type_code
3926 (x_return_status => l_return_status,
3927 p_chrv_rec => p_chrv_rec);
3928
3929 -- store the highest degree of error
3930 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3931 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3932 x_return_status := l_return_status;
3933 END IF;
3934 END IF;
3935 ELSE
3936 validate_oks_renewal_type_code
3937 (x_return_status => l_return_status,
3938 p_chrv_rec => p_chrv_rec);
3939
3940 -- store the highest degree of error
3941 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3942 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3943 x_return_status := l_return_status;
3944 END IF;
3945 END IF;
3946 END IF;
3947 --end of R12 renewal_type_code validation changes
3948
3949 -- R12 Data Model Changes 4485150 Start
3950 validate_approval_type(x_return_status => l_return_status,
3951 p_chrv_rec => p_chrv_rec) ;
3952 -- store the highest degree of error
3953 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3954 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3955 x_return_status := l_return_status;
3956 END IF;
3957 END IF;
3958 -- R12 Data Model Changes 4485150 End
3959 RETURN(x_return_status);
3960 IF (l_debug = 'Y') THEN
3961 okc_debug.LOG('11000: Exiting Validate_Attributes', 2);
3962 okc_debug.Reset_Indentation;
3963 END IF;
3964
3965
3966 EXCEPTION
3967 WHEN OTHERS THEN
3968
3969 IF (l_debug = 'Y') THEN
3970 okc_debug.LOG('11100: Exiting Validate_Attributes:OTHERS Exception', 2);
3971 okc_debug.Reset_Indentation;
3972 END IF;
3973
3974 -- store SQL error message on message stack
3975 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
3976 p_msg_name => g_unexpected_error,
3977 p_token1 => g_sqlcode_token,
3978 p_token1_value => SQLCODE,
3979 p_token2 => g_sqlerrm_token,
3980 p_token2_value => SQLERRM);
3981
3982 -- notify caller of an UNEXPETED error
3983 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3984
3985 -- return status to caller
3986 RETURN(x_return_status);
3987
3988
3989 END Validate_Attributes;
3990
3991 -- This function returns the status type for given status code
3992 FUNCTION Get_Status_Type(p_code VARCHAR2) RETURN VARCHAR2 IS
3993 l_ste_code VARCHAR2(30) := 'X';
3994
3995 CURSOR l_stsv_csr IS
3996 SELECT ste_code
3997 FROM okc_statuses_b
3998 WHERE code = p_code;
3999 BEGIN
4000
4001 IF (l_debug = 'Y') THEN
4002 okc_debug.Set_Indentation('OKC_CHR_PVT');
4003 okc_debug.LOG('11200: Entered Get_Status_Type', 2);
4004 END IF;
4005
4006 OPEN l_stsv_csr;
4007 FETCH l_stsv_csr INTO l_ste_code;
4008 CLOSE l_stsv_csr;
4009 RETURN l_ste_code;
4010 IF (l_debug = 'Y') THEN
4011 okc_debug.LOG('11300: Exiting Get_Status_Type', 2);
4012 okc_debug.Reset_Indentation;
4013 END IF;
4014
4015
4016 EXCEPTION
4017 WHEN NO_DATA_FOUND THEN
4018
4019 IF (l_debug = 'Y') THEN
4020 okc_debug.LOG('11400: Exiting Get_Status_Type:NO_DATA_FOUND Exception', 2);
4021 okc_debug.Reset_Indentation;
4022 END IF;
4023
4024 RETURN l_ste_code;
4025 WHEN OTHERS THEN
4026
4027 IF (l_debug = 'Y') THEN
4028 okc_debug.LOG('11500: Exiting Get_Status_Type:Others Exception', 2);
4029 okc_debug.Reset_Indentation;
4030 END IF;
4031
4032 RETURN l_ste_code;
4033 END;
4034
4035 FUNCTION IS_UNIQUE (p_chrv_rec chrv_rec_type) RETURN VARCHAR2
4036 IS
4037 CURSOR l_chr_csr1 IS
4038 SELECT 'x'
4039 --npalepu 08-11-2005 modified for bug # 4691662.
4040 --Replaced table okc_k_headers_b with headers_All_b table
4041 /* FROM okc_k_headers_b */
4042 FROM okc_k_headers_all_b
4043 --end npalepu
4044 WHERE contract_number = p_chrv_rec.contract_number
4045 AND contract_number_modifier IS NULL
4046 AND id <> nvl(p_chrv_rec.id, - 99999);
4047
4048 CURSOR l_chr_csr2 IS
4049 SELECT 'x'
4050 --npalepu 08-11-2005 modified for bug # 4691662.
4051 --Replaced table okc_k_headers_b with headers_All_b table
4052 /* FROM okc_k_headers_b */
4053 FROM okc_k_headers_all_b
4054 --end npalepu
4055 WHERE contract_number = p_chrv_rec.contract_number
4056 AND contract_number_modifier = p_chrv_rec.contract_number_modifier
4057 AND id <> nvl(p_chrv_rec.id, - 99999);
4058
4059 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4060 l_dummy VARCHAR2(1);
4061 l_found BOOLEAN;
4062 BEGIN
4063
4064 IF (l_debug = 'Y') THEN
4065 okc_debug.Set_Indentation('OKC_CHR_PVT');
4066 okc_debug.LOG('11600: Entered IS_UNIQUE', 2);
4067 END IF;
4068
4069 -- check for unique CONTRACT_NUMBER + MODIFIER
4070 IF (p_chrv_rec.contract_number_modifier IS NULL) THEN
4071 OPEN l_chr_csr1;
4072 FETCH l_chr_csr1 INTO l_dummy;
4073 l_found := l_chr_csr1%FOUND;
4074 CLOSE l_chr_csr1;
4075 ELSE
4076 OPEN l_chr_csr2;
4077 FETCH l_chr_csr2 INTO l_dummy;
4078 l_found := l_chr_csr2%FOUND;
4079 CLOSE l_chr_csr2;
4080 END IF;
4081 IF (l_found) THEN
4082 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4083 p_msg_name => 'OKC_CONTRACT_EXISTS',
4084 p_token1 => 'VALUE1',
4085 p_token1_value => p_chrv_rec.contract_number,
4086 p_token2 => 'VALUE2',
4087 p_token2_value => nvl(p_chrv_rec.contract_number_modifier,' '));
4088 -- notify caller of an error
4089 l_return_status := OKC_API.G_RET_STS_ERROR;
4090 END IF;
4091 RETURN (l_return_status);
4092
4093 IF (l_debug = 'Y') THEN
4094 okc_debug.LOG('11700: Exiting IS_UNIQUE', 2);
4095 okc_debug.Reset_Indentation;
4096 END IF;
4097
4098
4099 EXCEPTION
4100 WHEN OTHERS THEN
4101
4102 IF (l_debug = 'Y') THEN
4103 okc_debug.LOG('11800: Exiting IS_UNIQUE:OTHERS Exception', 2);
4104 okc_debug.Reset_Indentation;
4105 END IF;
4106
4107 RETURN (l_return_status);
4108
4109 END IS_UNIQUE;
4110
4111 /*********************** END HAND-CODED ********************************/
4112 ---------------------------------------------------------------------------
4113 -- PROCEDURE Validate_Record
4114 ---------------------------------------------------------------------------
4115
4116 -----------------------------------------
4117 -- Validate_Record for:OKC_K_HEADERS_V --
4118 -----------------------------------------
4119 FUNCTION Validate_Record (
4120 p_chrv_rec IN chrv_rec_type
4121 ) RETURN VARCHAR2 IS
4122 CURSOR l_chr_csr1 IS
4123 SELECT 'x'
4124 --npalepu 08-11-2005 modified for bug # 4691662.
4125 --Replaced table okc_k_headers_b with headers_All_b table
4126 /* FROM okc_k_headers_b */
4127 FROM okc_k_headers_all_b
4128 --end npalepu
4129 WHERE contract_number = p_chrv_rec.contract_number
4130 AND contract_number_modifier IS NULL
4131 AND id <> nvl(p_chrv_rec.id, - 99999);
4132
4133 CURSOR l_chr_csr2 IS
4134 SELECT 'x'
4135 --npalepu 08-11-2005 modified for bug # 4691662.
4136 --Replaced table okc_k_headers_b with headers_All_b table
4137 /* FROM okc_k_headers_b */
4138 FROM okc_k_headers_all_b
4139 --end npalepu
4140 WHERE contract_number = p_chrv_rec.contract_number
4141 AND contract_number_modifier = p_chrv_rec.contract_number_modifier
4142 AND id <> nvl(p_chrv_rec.id, - 99999);
4143
4144 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4145 l_dummy VARCHAR2(1);
4146 l_found BOOLEAN;
4147 BEGIN
4148
4149 IF (l_debug = 'Y') THEN
4150 okc_debug.Set_Indentation('OKC_CHR_PVT');
4151 okc_debug.LOG('11900: Entered Validate_Record', 2);
4152 END IF;
4153
4154 -- check for unique CONTRACT_NUMBER + MODIFIER
4155 /*
4156 If (p_chrv_rec.contract_number_modifier is null) Then
4157 open l_chr_csr1;
4158 fetch l_chr_csr1 into l_dummy;
4159 l_found := l_chr_csr1%FOUND;
4160 close l_chr_csr1;
4161 Else
4162 open l_chr_csr2;
4163 fetch l_chr_csr2 into l_dummy;
4164 l_found := l_chr_csr2%FOUND;
4165 close l_chr_csr2;
4166 End If;
4167 If (l_found) Then
4168 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4169 p_msg_name => 'OKC_CONTRACT_EXISTS',
4170 p_token1 => 'VALUE1',
4171 p_token1_value => p_chrv_rec.contract_number,
4172 p_token2 => 'VALUE2',
4173 p_token2_value => nvl(p_chrv_rec.contract_number_modifier,' '));
4174 -- notify caller of an error
4175 l_return_status := OKC_API.G_RET_STS_ERROR;
4176 End If;
4177 */
4178 l_return_status := IS_UNIQUE(p_chrv_rec);
4179
4180 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
4181 -- start date cannot be after end date
4182 IF (p_chrv_rec.START_DATE IS NOT NULL AND
4183 p_chrv_rec.END_DATE IS NOT NULL)
4184 THEN
4185 IF (p_chrv_rec.START_DATE > p_chrv_rec.END_DATE) THEN
4186 -- notify caller of an error as UNEXPETED error
4187 l_return_status := OKC_API.G_RET_STS_ERROR;
4188 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4189 p_msg_name => 'OKC_INVALID_START_END_DATES'
4190 );
4191 END IF;
4192 END IF;
4193 ---SIGN_BY_DATE must be earlier than the END_DATE of the contract
4194 IF (p_chrv_rec.START_DATE IS NOT NULL AND
4195 p_chrv_rec.SIGN_BY_DATE IS NOT NULL)
4196 THEN
4197 --Bug 3720503 If (p_chrv_rec.END_DATE > p_chrv_rec.SIGN_BY_DATE) Then
4198 IF (p_chrv_rec.SIGN_BY_DATE > p_chrv_rec.END_DATE ) THEN
4199 -- notify caller of an error as UNEXPETED error
4200 l_return_status := OKC_API.G_RET_STS_ERROR;
4201 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4202 p_msg_name => 'OKC_INVALID_SIGN_END_DATES');
4203 END IF;
4204 END IF;
4205
4206 END IF;
4207 --Pricing date should not be than contract end date for advanced pricing
4208 IF ((l_return_status = OKC_API.G_RET_STS_SUCCESS) AND
4209 NVL(fnd_profile.VALUE('OKC_ADVANCED_PRICING'), 'N') = 'Y') THEN
4210 IF (p_chrv_rec.END_DATE IS NOT NULL AND
4211 p_chrv_rec.PRICING_DATE IS NOT NULL)
4212 THEN
4213 IF (p_chrv_rec.PRICING_DATE > p_chrv_rec.END_DATE) THEN
4214 -- notify caller of an error as UNEXPETED error
4215 l_return_status := OKC_API.G_RET_STS_ERROR;
4216 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4217 p_msg_name => 'OKC_INVALID_PRICING_DATE');
4218 END IF;
4219 END IF;
4220 END IF;
4221
4222 RETURN (l_return_status);
4223 IF (l_debug = 'Y') THEN
4224 okc_debug.LOG('12000: Exiting Validate_Record', 2);
4225 okc_debug.Reset_Indentation;
4226 END IF;
4227
4228
4229 EXCEPTION
4230 WHEN NO_DATA_FOUND THEN
4231
4232 IF (l_debug = 'Y') THEN
4233 okc_debug.LOG('12100: Exiting Validate_Record:NO_DATA_FOUND Exception', 2);
4234 okc_debug.Reset_Indentation;
4235 END IF;
4236
4237 NULL;
4238
4239 END Validate_Record;
4240
4241 ---------------------------------------------------------------------------
4242 -- PROCEDURE Migrate
4243 ---------------------------------------------------------------------------
4244 PROCEDURE migrate (
4245 p_from IN chrv_rec_type,
4246 p_to IN OUT NOCOPY chr_rec_type
4247 ) IS
4248 BEGIN
4249
4250 IF (l_debug = 'Y') THEN
4251 okc_debug.Set_Indentation('OKC_CHR_PVT');
4252 okc_debug.LOG('12200: Entered migrate', 2);
4253 END IF;
4254
4255 p_to.id := p_from.id;
4256 p_to.contract_number := p_from.contract_number;
4257 p_to.authoring_org_id := p_from.authoring_org_id;
4258 -- p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4259 p_to.contract_number_modifier := p_from.contract_number_modifier;
4260 p_to.chr_id_response := p_from.chr_id_response;
4261 p_to.chr_id_award := p_from.chr_id_award;
4262 p_to.INV_ORGANIZATION_ID := p_from.INV_ORGANIZATION_ID;
4263 p_to.sts_code := p_from.sts_code;
4264 p_to.qcl_id := p_from.qcl_id;
4265 p_to.scs_code := p_from.scs_code;
4266 p_to.trn_code := p_from.trn_code;
4267 p_to.currency_code := p_from.currency_code;
4268 p_to.archived_yn := p_from.archived_yn;
4269 p_to.deleted_yn := p_from.deleted_yn;
4270 p_to.template_yn := p_from.template_yn;
4271 p_to.chr_type := p_from.chr_type;
4272 p_to.object_version_number := p_from.object_version_number;
4273 p_to.created_by := p_from.created_by;
4274 p_to.creation_date := p_from.creation_date;
4275 p_to.last_updated_by := p_from.last_updated_by;
4276 p_to.last_update_date := p_from.last_update_date;
4277 p_to.cust_po_number_req_yn := p_from.cust_po_number_req_yn;
4278 p_to.pre_pay_req_yn := p_from.pre_pay_req_yn;
4279 p_to.cust_po_number := p_from.cust_po_number;
4280 p_to.dpas_rating := p_from.dpas_rating;
4281 p_to.template_used := p_from.template_used;
4282 p_to.date_approved := p_from.date_approved;
4283 p_to.datetime_cancelled := p_from.datetime_cancelled;
4284 p_to.auto_renew_days := p_from.auto_renew_days;
4285 p_to.date_issued := p_from.date_issued;
4286 p_to.datetime_responded := p_from.datetime_responded;
4287 p_to.rfp_type := p_from.rfp_type;
4288 p_to.keep_on_mail_list := p_from.keep_on_mail_list;
4289 p_to.set_aside_percent := p_from.set_aside_percent;
4290 p_to.response_copies_req := p_from.response_copies_req;
4291 p_to.date_close_projected := p_from.date_close_projected;
4292 p_to.datetime_proposed := p_from.datetime_proposed;
4293 p_to.date_signed := p_from.date_signed;
4294 p_to.date_terminated := p_from.date_terminated;
4295 p_to.date_renewed := p_from.date_renewed;
4296 p_to.start_date := p_from.start_date;
4297 p_to.end_date := p_from.end_date;
4298 p_to.buy_or_sell := p_from.buy_or_sell;
4299 p_to.issue_or_receive := p_from.issue_or_receive;
4300 p_to.estimated_amount := p_from.estimated_amount;
4301 p_to.estimated_amount_renewed := p_from.estimated_amount_renewed;
4302 p_to.currency_code_renewed := p_from.currency_code_renewed;
4303 p_to.last_update_login := p_from.last_update_login;
4304 p_to.upg_orig_system_ref := p_from.upg_orig_system_ref;
4305 p_to.upg_orig_system_ref_id := p_from.upg_orig_system_ref_id;
4306 p_to.application_id := p_from.application_id;
4307 p_to.orig_system_source_code := p_from.orig_system_source_code;
4308 p_to.orig_system_id1 := p_from.orig_system_id1;
4309 p_to.orig_system_reference1 := p_from.orig_system_reference1 ;
4310 p_to.program_id := p_from.program_id;
4311 p_to.request_id := p_from.request_id;
4312 p_to.program_update_date := p_from.program_update_date;
4313 p_to.program_application_id := p_from.program_application_id;
4314 p_to.price_list_id := p_from.price_list_id;
4315 p_to.pricing_date := p_from.pricing_date;
4316 p_to.sign_by_date := p_from.sign_by_date;
4317 p_to.total_line_list_price := p_from.total_line_list_price;
4318 p_to.USER_ESTIMATED_AMOUNT := p_from.USER_ESTIMATED_AMOUNT;
4319 p_to.governing_contract_yn := p_from.governing_contract_yn;
4320 p_to.attribute_category := p_from.attribute_category;
4321 p_to.attribute1 := p_from.attribute1;
4322 p_to.attribute2 := p_from.attribute2;
4323 p_to.attribute3 := p_from.attribute3;
4324 p_to.attribute4 := p_from.attribute4;
4325 p_to.attribute5 := p_from.attribute5;
4326 p_to.attribute6 := p_from.attribute6;
4327 p_to.attribute7 := p_from.attribute7;
4328 p_to.attribute8 := p_from.attribute8;
4329 p_to.attribute9 := p_from.attribute9;
4330 p_to.attribute10 := p_from.attribute10;
4331 p_to.attribute11 := p_from.attribute11;
4332 p_to.attribute12 := p_from.attribute12;
4333 p_to.attribute13 := p_from.attribute13;
4334 p_to.attribute14 := p_from.attribute14;
4335 p_to.attribute15 := p_from.attribute15;
4336 --new columns to replace rules
4337 p_to.conversion_type := p_from.conversion_type;
4338 p_to.conversion_rate := p_from.conversion_rate;
4339 p_to.conversion_rate_date := p_from.conversion_rate_date;
4340 p_to.conversion_euro_rate := p_from.conversion_euro_rate;
4341 p_to.cust_acct_id := p_from.cust_acct_id;
4342 p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
4343 p_to.inv_rule_id := p_from.inv_rule_id;
4344 p_to.renewal_type_code := p_from.renewal_type_code;
4345 p_to.renewal_notify_to := p_from.renewal_notify_to;
4346 p_to.renewal_end_date := p_from.renewal_end_date;
4347 p_to.ship_to_site_use_id := p_from.ship_to_site_use_id;
4348 p_to.payment_term_id := p_from.payment_term_id;
4349 p_to.document_id := p_from.document_id;
4350
4351 -- R12 Data Model Changes 4485150 Start
4352 p_to.approval_type := p_from.approval_type;
4353 p_to.term_cancel_source := p_from.term_cancel_source;
4354 p_to.payment_instruction_type := p_from.payment_instruction_type;
4355 p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4356 -- R12 Data Model Changes 4485150 End
4357 p_to.cancelled_amount := p_from.cancelled_amount; -- LLC
4358
4359 END migrate;
4360 PROCEDURE migrate (
4361 p_from IN chr_rec_type,
4362 p_to IN OUT NOCOPY chrv_rec_type
4363 ) IS
4364 BEGIN
4365
4366 IF (l_debug = 'Y') THEN
4367 okc_debug.Set_Indentation('OKC_CHR_PVT');
4368 okc_debug.LOG('12300: Entered migrate', 2);
4369 END IF;
4370
4371 p_to.id := p_from.id;
4372 p_to.contract_number := p_from.contract_number;
4373 p_to.authoring_org_id := p_from.authoring_org_id;
4374 p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4375 p_to.contract_number_modifier := p_from.contract_number_modifier;
4376 p_to.chr_id_response := p_from.chr_id_response;
4377 p_to.chr_id_award := p_from.chr_id_award;
4378 p_to.INV_ORGANIZATION_ID := p_from.INV_ORGANIZATION_ID;
4379 p_to.sts_code := p_from.sts_code;
4380 p_to.qcl_id := p_from.qcl_id;
4381 p_to.scs_code := p_from.scs_code;
4382 p_to.trn_code := p_from.trn_code;
4383 p_to.currency_code := p_from.currency_code;
4384 p_to.archived_yn := p_from.archived_yn;
4385 p_to.deleted_yn := p_from.deleted_yn;
4386 p_to.template_yn := p_from.template_yn;
4387 p_to.chr_type := p_from.chr_type;
4388 p_to.object_version_number := p_from.object_version_number;
4389 p_to.created_by := p_from.created_by;
4390 p_to.creation_date := p_from.creation_date;
4391 p_to.last_updated_by := p_from.last_updated_by;
4392 p_to.last_update_date := p_from.last_update_date;
4393 p_to.cust_po_number_req_yn := p_from.cust_po_number_req_yn;
4394 p_to.pre_pay_req_yn := p_from.pre_pay_req_yn;
4395 p_to.cust_po_number := p_from.cust_po_number;
4396 p_to.dpas_rating := p_from.dpas_rating;
4397 p_to.template_used := p_from.template_used;
4398 p_to.date_approved := p_from.date_approved;
4399 p_to.datetime_cancelled := p_from.datetime_cancelled;
4400 p_to.auto_renew_days := p_from.auto_renew_days;
4401 p_to.date_issued := p_from.date_issued;
4402 p_to.datetime_responded := p_from.datetime_responded;
4403 p_to.rfp_type := p_from.rfp_type;
4404 p_to.keep_on_mail_list := p_from.keep_on_mail_list;
4405 p_to.set_aside_percent := p_from.set_aside_percent;
4406 p_to.response_copies_req := p_from.response_copies_req;
4407 p_to.date_close_projected := p_from.date_close_projected;
4408 p_to.datetime_proposed := p_from.datetime_proposed;
4409 p_to.date_signed := p_from.date_signed;
4410 p_to.date_terminated := p_from.date_terminated;
4411 p_to.date_renewed := p_from.date_renewed;
4412 p_to.start_date := p_from.start_date;
4413 p_to.end_date := p_from.end_date;
4414 p_to.buy_or_sell := p_from.buy_or_sell;
4415 p_to.issue_or_receive := p_from.issue_or_receive;
4416 p_to.estimated_amount := p_from.estimated_amount;
4417 p_to.estimated_amount_renewed := p_from.estimated_amount_renewed;
4418 p_to.currency_code_renewed := p_from.currency_code_renewed;
4419 p_to.last_update_login := p_from.last_update_login;
4420 p_to.upg_orig_system_ref := p_from.upg_orig_system_ref;
4421 p_to.upg_orig_system_ref_id := p_from.upg_orig_system_ref_id;
4422 p_to.application_id := p_from.application_id;
4423 p_to.orig_system_source_code := p_from.orig_system_source_code;
4424 p_to.orig_system_id1 := p_from.orig_system_id1;
4425 p_to.orig_system_reference1 := p_from.orig_system_reference1 ;
4426 p_to.program_id := p_from.program_id;
4427 p_to.request_id := p_from.request_id;
4428 p_to.program_update_date := p_from.program_update_date;
4429 p_to.program_application_id := p_from.program_application_id;
4430 p_to.price_list_id := p_from.price_list_id;
4431 p_to.pricing_date := p_from.pricing_date;
4432 p_to.sign_by_date := p_from.sign_by_date;
4433 p_to.total_line_list_price := p_from.total_line_list_price;
4434 p_to.USER_ESTIMATED_AMOUNT := p_from.USER_ESTIMATED_AMOUNT;
4435 p_to.GOVERNING_CONTRACT_YN := p_from.GOVERNING_CONTRACT_YN;
4436 p_to.attribute_category := p_from.attribute_category;
4437 p_to.attribute1 := p_from.attribute1;
4438 p_to.attribute2 := p_from.attribute2;
4439 p_to.attribute3 := p_from.attribute3;
4440 p_to.attribute4 := p_from.attribute4;
4441 p_to.attribute5 := p_from.attribute5;
4442 p_to.attribute6 := p_from.attribute6;
4443 p_to.attribute7 := p_from.attribute7;
4444 p_to.attribute8 := p_from.attribute8;
4445 p_to.attribute9 := p_from.attribute9;
4446 p_to.attribute10 := p_from.attribute10;
4447 p_to.attribute11 := p_from.attribute11;
4448 p_to.attribute12 := p_from.attribute12;
4449 p_to.attribute13 := p_from.attribute13;
4450 p_to.attribute14 := p_from.attribute14;
4451 p_to.attribute15 := p_from.attribute15;
4452 --new columns to replace rules
4453 p_to.conversion_type := p_from.conversion_type;
4454 p_to.conversion_rate := p_from.conversion_rate;
4455 p_to.conversion_rate_date := p_from.conversion_rate_date;
4456 p_to.conversion_euro_rate := p_from.conversion_euro_rate;
4457 p_to.cust_acct_id := p_from.cust_acct_id;
4458 p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
4459 p_to.inv_rule_id := p_from.inv_rule_id;
4460 p_to.renewal_type_code := p_from.renewal_type_code;
4461 p_to.renewal_notify_to := p_from.renewal_notify_to;
4462 p_to.renewal_end_date := p_from.renewal_end_date;
4463 p_to.ship_to_site_use_id := p_from.ship_to_site_use_id;
4464 p_to.payment_term_id := p_from.payment_term_id;
4465 p_to.document_id := p_from.document_id;
4466
4467 -- R12 Data Model Changes 4485150 Start
4468 p_to.approval_type := p_from.approval_type;
4469 p_to.term_cancel_source := p_from.term_cancel_source;
4470 p_to.payment_instruction_type := p_from.payment_instruction_type;
4471 p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4472 -- R12 Data Model Changes 4485150 End
4473 p_to.cancelled_amount := p_from.cancelled_amount; -- LLC
4474
4475 END migrate;
4476 PROCEDURE migrate (
4477 p_from IN chrv_rec_type,
4478 p_to IN OUT NOCOPY okc_k_headers_tl_rec_type
4479 ) IS
4480 BEGIN
4481
4482 IF (l_debug = 'Y') THEN
4483 okc_debug.Set_Indentation('OKC_CHR_PVT');
4484 okc_debug.LOG('12400: Entered migrate', 2);
4485 END IF;
4486
4487 p_to.id := p_from.id;
4488 p_to.sfwt_flag := p_from.sfwt_flag;
4489 p_to.short_description := p_from.short_description;
4490 p_to.comments := p_from.comments;
4491 p_to.description := p_from.description;
4492 p_to.cognomen := p_from.cognomen;
4493 p_to.non_response_reason := p_from.non_response_reason;
4494 p_to.non_response_explain := p_from.non_response_explain;
4495 p_to.set_aside_reason := p_from.set_aside_reason;
4496 p_to.created_by := p_from.created_by;
4497 p_to.creation_date := p_from.creation_date;
4498 p_to.last_updated_by := p_from.last_updated_by;
4499 p_to.last_update_date := p_from.last_update_date;
4500 p_to.last_update_login := p_from.last_update_login;
4501
4502 END migrate;
4503 PROCEDURE migrate (
4504 p_from IN okc_k_headers_tl_rec_type,
4505 p_to IN OUT NOCOPY chrv_rec_type
4506 ) IS
4507 BEGIN
4508
4509 IF (l_debug = 'Y') THEN
4510 okc_debug.Set_Indentation('OKC_CHR_PVT');
4511 okc_debug.LOG('12500: Entered migrate', 2);
4512 END IF;
4513
4514 p_to.id := p_from.id;
4515 p_to.sfwt_flag := p_from.sfwt_flag;
4516 p_to.short_description := p_from.short_description;
4517 p_to.comments := p_from.comments;
4518 p_to.description := p_from.description;
4519 p_to.cognomen := p_from.cognomen;
4520 p_to.non_response_reason := p_from.non_response_reason;
4521 p_to.non_response_explain := p_from.non_response_explain;
4522 p_to.set_aside_reason := p_from.set_aside_reason;
4523 p_to.created_by := p_from.created_by;
4524 p_to.creation_date := p_from.creation_date;
4525 p_to.last_updated_by := p_from.last_updated_by;
4526 p_to.last_update_date := p_from.last_update_date;
4527 p_to.last_update_login := p_from.last_update_login;
4528
4529 END migrate;
4530
4531 ---------------------------------------------------------------------------
4532 -- PROCEDURE validate_row
4533 ---------------------------------------------------------------------------
4534 --------------------------------------
4535 -- validate_row for:OKC_K_HEADERS_V --
4536 --------------------------------------
4537 PROCEDURE validate_row(
4538 p_api_version IN NUMBER,
4539 p_init_msg_list IN VARCHAR2,
4540 x_return_status OUT NOCOPY VARCHAR2,
4541 x_msg_count OUT NOCOPY NUMBER,
4542 x_msg_data OUT NOCOPY VARCHAR2,
4543 p_chrv_rec IN chrv_rec_type) IS
4544
4545 l_api_version CONSTANT NUMBER := 1;
4546 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
4547 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4548 l_chrv_rec chrv_rec_type := p_chrv_rec;
4549 l_chr_rec chr_rec_type;
4550 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
4551 BEGIN
4552
4553 IF (l_debug = 'Y') THEN
4554 okc_debug.Set_Indentation('OKC_CHR_PVT');
4555 okc_debug.LOG('12600: Entered validate_row', 2);
4556 END IF;
4557
4558 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4559 G_PKG_NAME,
4560 p_init_msg_list,
4561 l_api_version,
4562 p_api_version,
4563 '_PVT',
4564 x_return_status);
4565 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4566 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4567 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4568 RAISE OKC_API.G_EXCEPTION_ERROR;
4569 END IF;
4570
4571 IF p_chrv_rec.VALIDATE_YN = 'Y' THEN ---Bug#3150149
4572 --- Validate all non-missing attributes (Item Level Validation)
4573 l_return_status := Validate_Attributes(l_chrv_rec);
4574 END IF;
4575
4576 --- If any errors happen abort API
4577 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4578 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4579 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4580 RAISE OKC_API.G_EXCEPTION_ERROR;
4581 END IF;
4582 l_return_status := Validate_Record(l_chrv_rec);
4583 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4584 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4585 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4586 RAISE OKC_API.G_EXCEPTION_ERROR;
4587 END IF;
4588 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4589 IF (l_debug = 'Y') THEN
4590 okc_debug.LOG('12700: Exiting validate_row', 2);
4591 okc_debug.Reset_Indentation;
4592 END IF;
4593
4594
4595 EXCEPTION
4596 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4597
4598 IF (l_debug = 'Y') THEN
4599 okc_debug.LOG('12800: Exiting validate_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
4600 okc_debug.Reset_Indentation;
4601 END IF;
4602
4603 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4604 (
4605 l_api_name,
4606 G_PKG_NAME,
4607 'OKC_API.G_RET_STS_ERROR',
4608 x_msg_count,
4609 x_msg_data,
4610 '_PVT'
4611 );
4612 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4613
4614 IF (l_debug = 'Y') THEN
4615 okc_debug.LOG('12900: Exiting validate_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
4616 okc_debug.Reset_Indentation;
4617 END IF;
4618
4619 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4620 (
4621 l_api_name,
4622 G_PKG_NAME,
4623 'OKC_API.G_RET_STS_UNEXP_ERROR',
4624 x_msg_count,
4625 x_msg_data,
4626 '_PVT'
4627 );
4628 WHEN OTHERS THEN
4629
4630 IF (l_debug = 'Y') THEN
4631 okc_debug.LOG('13000: Exiting validate_row:OTHERS Exception', 2);
4632 okc_debug.Reset_Indentation;
4633 END IF;
4634
4635 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4636 (
4637 l_api_name,
4638 G_PKG_NAME,
4639 'OTHERS',
4640 x_msg_count,
4641 x_msg_data,
4642 '_PVT'
4643 );
4644
4645 END validate_row;
4646 ------------------------------------------
4647 -- PL/SQL TBL validate_row for:CHRV_TBL --
4648 ------------------------------------------
4649 PROCEDURE validate_row(
4650 p_api_version IN NUMBER,
4651 p_init_msg_list IN VARCHAR2,
4652 x_return_status OUT NOCOPY VARCHAR2,
4653 x_msg_count OUT NOCOPY NUMBER,
4654 x_msg_data OUT NOCOPY VARCHAR2,
4655 p_chrv_tbl IN chrv_tbl_type) IS
4656
4657 l_api_version CONSTANT NUMBER := 1;
4658 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
4659 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4660 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4661 i NUMBER := 0;
4662 BEGIN
4663
4664 IF (l_debug = 'Y') THEN
4665 okc_debug.Set_Indentation('OKC_CHR_PVT');
4666 okc_debug.LOG('13100: Entered validate_row', 2);
4667 END IF;
4668
4669 OKC_API.init_msg_list(p_init_msg_list);
4670 -- Make sure PL/SQL table has records in it before passing
4671 IF (p_chrv_tbl.COUNT > 0) THEN
4672 i := p_chrv_tbl.FIRST;
4673 LOOP
4674 validate_row (
4675 p_api_version => p_api_version,
4676 p_init_msg_list => OKC_API.G_FALSE,
4677 x_return_status => x_return_status,
4678 x_msg_count => x_msg_count,
4679 x_msg_data => x_msg_data,
4680 p_chrv_rec => p_chrv_tbl(i));
4681
4682 -- store the highest degree of error
4683 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
4684 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
4685 l_overall_status := x_return_status;
4686 END IF;
4687 END IF;
4688
4689 EXIT WHEN (i = p_chrv_tbl.LAST);
4690 i := p_chrv_tbl.NEXT(i);
4691 END LOOP;
4692 -- return overall status
4693 x_return_status := l_overall_status;
4694 END IF;
4695 IF (l_debug = 'Y') THEN
4696 okc_debug.LOG('13200: Exiting validate_row', 2);
4697 okc_debug.Reset_Indentation;
4698 END IF;
4699
4700
4701 EXCEPTION
4702 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4703
4704 IF (l_debug = 'Y') THEN
4705 okc_debug.LOG('13300: Exiting validate_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
4706 okc_debug.Reset_Indentation;
4707 END IF;
4708
4709 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4710 (
4711 l_api_name,
4712 G_PKG_NAME,
4713 'OKC_API.G_RET_STS_ERROR',
4714 x_msg_count,
4715 x_msg_data,
4716 '_PVT'
4717 );
4718 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4719
4720 IF (l_debug = 'Y') THEN
4721 okc_debug.LOG('13400: Exiting validate_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
4722 okc_debug.Reset_Indentation;
4723 END IF;
4724
4725 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4726 (
4727 l_api_name,
4728 G_PKG_NAME,
4729 'OKC_API.G_RET_STS_UNEXP_ERROR',
4730 x_msg_count,
4731 x_msg_data,
4732 '_PVT'
4733 );
4734 WHEN OTHERS THEN
4735
4736 IF (l_debug = 'Y') THEN
4737 okc_debug.LOG('13500: Exiting validate_row:OTHERS Exception', 2);
4738 okc_debug.Reset_Indentation;
4739 END IF;
4740
4741 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4742 (
4743 l_api_name,
4744 G_PKG_NAME,
4745 'OTHERS',
4746 x_msg_count,
4747 x_msg_data,
4748 '_PVT'
4749 );
4750
4751 END validate_row;
4752
4753 ---------------------------------------------------------------------------
4754 -- PROCEDURE insert_row
4755 ---------------------------------------------------------------------------
4756 ------------------------------------
4757 -- insert_row for:OKC_K_HEADERS_ALL_B --
4758 ------------------------------------
4759 PROCEDURE insert_row(
4760 p_init_msg_list IN VARCHAR2,
4761 x_return_status OUT NOCOPY VARCHAR2,
4762 x_msg_count OUT NOCOPY NUMBER,
4763 x_msg_data OUT NOCOPY VARCHAR2,
4764 p_chr_rec IN chr_rec_type,
4765 x_chr_rec OUT NOCOPY chr_rec_type) IS
4766
4767 l_api_version CONSTANT NUMBER := 1;
4768 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
4769 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4770 l_chr_rec chr_rec_type := p_chr_rec;
4771 l_def_chr_rec chr_rec_type;
4772 ----------------------------------------
4773 -- Set_Attributes for:OKC_K_HEADERS_ALL_B --
4774 ----------------------------------------
4775 FUNCTION Set_Attributes (
4776 p_chr_rec IN chr_rec_type,
4777 x_chr_rec OUT NOCOPY chr_rec_type
4778 ) RETURN VARCHAR2 IS
4779 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4780 BEGIN
4781
4782 IF (l_debug = 'Y') THEN
4783 okc_debug.Set_Indentation('OKC_CHR_PVT');
4784 okc_debug.LOG('13600: Entered Set_Attributes', 2);
4785 END IF;
4786
4787 x_chr_rec := p_chr_rec;
4788 RETURN(l_return_status);
4789
4790 END Set_Attributes;
4791 BEGIN
4792
4793 IF (l_debug = 'Y') THEN
4794 okc_debug.Set_Indentation('OKC_CHR_PVT');
4795 okc_debug.LOG('13700: Entered insert_row', 2);
4796 END IF;
4797
4798 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4799 p_init_msg_list,
4800 '_PVT',
4801 x_return_status);
4802 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4803 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4804 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4805 RAISE OKC_API.G_EXCEPTION_ERROR;
4806 END IF;
4807 --- Setting item attributes
4808 l_return_status := Set_Attributes(
4809 p_chr_rec, -- IN
4810 l_chr_rec); -- OUT
4811 --- If any errors happen abort API
4812 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4813 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4814 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4815 RAISE OKC_API.G_EXCEPTION_ERROR;
4816 END IF;
4817 INSERT INTO OKC_K_HEADERS_ALL_B( --mmadhavi changed to _ALL for MOAC
4818 id,
4819 contract_number,
4820 authoring_org_id,
4821 org_id, --mmadhavi added for MOAC
4822 contract_number_modifier,
4823 chr_id_response,
4824 chr_id_award,
4825 INV_ORGANIZATION_ID,
4826 sts_code,
4827 qcl_id,
4828 scs_code,
4829 trn_code,
4830 currency_code,
4831 archived_yn,
4832 deleted_yn,
4833 template_yn,
4834 chr_type,
4835 object_version_number,
4836 created_by,
4837 creation_date,
4838 last_updated_by,
4839 last_update_date,
4840 cust_po_number_req_yn,
4841 pre_pay_req_yn,
4842 cust_po_number,
4843 dpas_rating,
4844 template_used,
4845 date_approved,
4846 datetime_cancelled,
4847 auto_renew_days,
4848 date_issued,
4849 datetime_responded,
4850 rfp_type,
4851 keep_on_mail_list,
4852 set_aside_percent,
4853 response_copies_req,
4854 date_close_projected,
4855 datetime_proposed,
4856 date_signed,
4857 date_terminated,
4858 date_renewed,
4859 start_date,
4860 end_date,
4861 buy_or_sell,
4862 issue_or_receive,
4863 estimated_amount,
4864 estimated_amount_renewed,
4865 currency_code_renewed,
4866 last_update_login,
4867 upg_orig_system_ref,
4868 upg_orig_system_ref_id,
4869 application_id,
4870 orig_system_source_code,
4871 orig_system_id1,
4872 orig_system_reference1,
4873 program_id,
4874 request_id,
4875 program_update_date,
4876 program_application_id,
4877 price_list_id,
4878 pricing_date,
4879 sign_by_date,
4880 total_line_list_price,
4881 USER_ESTIMATED_AMOUNT,
4882 GOVERNING_CONTRACT_YN,
4883 attribute_category,
4884 attribute1,
4885 attribute2,
4886 attribute3,
4887 attribute4,
4888 attribute5,
4889 attribute6,
4890 attribute7,
4891 attribute8,
4892 attribute9,
4893 attribute10,
4894 attribute11,
4895 attribute12,
4896 attribute13,
4897 attribute14,
4898 attribute15,
4899 -- new columns to replace rules
4900 conversion_type,
4901 conversion_rate,
4902 conversion_rate_date,
4903 conversion_euro_rate,
4904 cust_acct_id,
4905 bill_to_site_use_id,
4906 inv_rule_id,
4907 renewal_type_code,
4908 renewal_notify_to,
4909 renewal_end_date,
4910 ship_to_site_use_id,
4911 payment_term_id,
4912 document_id,
4913 -- R12 Data Model Changes 4485150 Start
4914 approval_type,
4915 term_cancel_source,
4916 payment_instruction_type,
4917 -- R12 Data Model Changes 4485150 End
4918 billed_at_source
4919 )
4920 VALUES (
4921 l_chr_rec.id,
4922 l_chr_rec.contract_number,
4923 --l_chr_rec.authoring_org_id,
4924 l_chr_rec.authoring_org_id,
4925 l_chr_rec.org_id, --mmadhavi added for MOAC
4926 l_chr_rec.contract_number_modifier,
4927 l_chr_rec.chr_id_response,
4928 l_chr_rec.chr_id_award,
4929 l_chr_rec.INV_ORGANIZATION_ID,
4930 l_chr_rec.sts_code,
4931 l_chr_rec.qcl_id,
4932 l_chr_rec.scs_code,
4933 l_chr_rec.trn_code,
4934 l_chr_rec.currency_code,
4935 l_chr_rec.archived_yn,
4936 l_chr_rec.deleted_yn,
4937 l_chr_rec.template_yn,
4938 l_chr_rec.chr_type,
4939 l_chr_rec.object_version_number,
4940 l_chr_rec.created_by,
4941 l_chr_rec.creation_date,
4942 l_chr_rec.last_updated_by,
4943 l_chr_rec.last_update_date,
4944 l_chr_rec.cust_po_number_req_yn,
4945 l_chr_rec.pre_pay_req_yn,
4946 l_chr_rec.cust_po_number,
4947 l_chr_rec.dpas_rating,
4948 l_chr_rec.template_used,
4949 l_chr_rec.date_approved,
4950 l_chr_rec.datetime_cancelled,
4951 l_chr_rec.auto_renew_days,
4952 l_chr_rec.date_issued,
4953 l_chr_rec.datetime_responded,
4954 l_chr_rec.rfp_type,
4955 l_chr_rec.keep_on_mail_list,
4956 l_chr_rec.set_aside_percent,
4957 l_chr_rec.response_copies_req,
4958 l_chr_rec.date_close_projected,
4959 l_chr_rec.datetime_proposed,
4960 l_chr_rec.date_signed,
4961 l_chr_rec.date_terminated,
4962 l_chr_rec.date_renewed,
4963 l_chr_rec.start_date,
4964 l_chr_rec.end_date,
4965 l_chr_rec.buy_or_sell,
4966 l_chr_rec.issue_or_receive,
4967 l_chr_rec.estimated_amount,
4968 l_chr_rec.estimated_amount_renewed,
4969 l_chr_rec.currency_code_renewed,
4970 l_chr_rec.last_update_login,
4971 l_chr_rec.upg_orig_system_ref,
4972 l_chr_rec.upg_orig_system_ref_id,
4973 l_chr_rec.application_id,
4974 l_chr_rec.orig_system_source_code,
4975 l_chr_rec.orig_system_id1,
4976 l_chr_rec.orig_system_reference1,
4977 decode(FND_GLOBAL.CONC_PROGRAM_ID, - 1, NULL, FND_GLOBAL.CONC_PROGRAM_ID),
4978 decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, FND_GLOBAL.CONC_REQUEST_ID),
4979 decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, SYSDATE),
4980 decode(FND_GLOBAL.PROG_APPL_ID, - 1, NULL, FND_GLOBAL.PROG_APPL_ID),
4981 l_chr_rec.price_list_id,
4982 l_chr_rec.pricing_date,
4983 l_chr_rec.sign_by_date,
4984 l_chr_rec.total_line_list_price,
4985 l_chr_rec.USER_ESTIMATED_AMOUNT,
4986 l_chr_rec.GOVERNING_CONTRACT_YN,
4987 l_chr_rec.attribute_category,
4988 l_chr_rec.attribute1,
4989 l_chr_rec.attribute2,
4990 l_chr_rec.attribute3,
4991 l_chr_rec.attribute4,
4992 l_chr_rec.attribute5,
4993 l_chr_rec.attribute6,
4994 l_chr_rec.attribute7,
4995 l_chr_rec.attribute8,
4996 l_chr_rec.attribute9,
4997 l_chr_rec.attribute10,
4998 l_chr_rec.attribute11,
4999 l_chr_rec.attribute12,
5000 l_chr_rec.attribute13,
5001 l_chr_rec.attribute14,
5002 l_chr_rec.attribute15,
5003 -- new columns to replace rules
5004 l_chr_rec.conversion_type,
5005 l_chr_rec.conversion_rate,
5006 l_chr_rec.conversion_rate_date,
5007 l_chr_rec.conversion_euro_rate,
5008 l_chr_rec.cust_acct_id,
5009 l_chr_rec.bill_to_site_use_id,
5010 l_chr_rec.inv_rule_id,
5011 l_chr_rec.renewal_type_code,
5012 l_chr_rec.renewal_notify_to,
5013 l_chr_rec.renewal_end_date,
5014 l_chr_rec.ship_to_site_use_id,
5015 l_chr_rec.payment_term_id,
5016 l_chr_rec.id,
5017 -- R12 Data Model Changes 4485150 Start
5018 l_chr_rec.approval_type,
5019 l_chr_rec.term_cancel_source,
5020 l_chr_rec.payment_instruction_type,
5021 -- R12 Data Model Changes 4485150 End
5022 l_chr_rec.billed_at_source
5023 );
5024 -- Set OUT values
5025 x_chr_rec := l_chr_rec;
5026 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5027 IF (l_debug = 'Y') THEN
5028 okc_debug.LOG('13800: Exiting insert_row', 2);
5029 okc_debug.Reset_Indentation;
5030 END IF;
5031
5032
5033 EXCEPTION
5034 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5035
5036 IF (l_debug = 'Y') THEN
5037 okc_debug.LOG('13900: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5038 okc_debug.Reset_Indentation;
5039 END IF;
5040
5041 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5042 (
5043 l_api_name,
5044 G_PKG_NAME,
5045 'OKC_API.G_RET_STS_ERROR',
5046 x_msg_count,
5047 x_msg_data,
5048 '_PVT'
5049 );
5050 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5051
5052 IF (l_debug = 'Y') THEN
5053 okc_debug.LOG('14000: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5054 okc_debug.Reset_Indentation;
5055 END IF;
5056
5057 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5058 (
5059 l_api_name,
5060 G_PKG_NAME,
5061 'OKC_API.G_RET_STS_UNEXP_ERROR',
5062 x_msg_count,
5063 x_msg_data,
5064 '_PVT'
5065 );
5066 WHEN OTHERS THEN
5067
5068 IF (l_debug = 'Y') THEN
5069 okc_debug.LOG('14100: Exiting insert_row:OTHERS Exception', 2);
5070 okc_debug.Reset_Indentation;
5071 END IF;
5072
5073 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5074 (
5075 l_api_name,
5076 G_PKG_NAME,
5077 'OTHERS',
5078 x_msg_count,
5079 x_msg_data,
5080 '_PVT'
5081 );
5082
5083 END insert_row;
5084 -------------------------------------
5085 -- insert_row for:OKC_K_HEADERS_TL --
5086 -------------------------------------
5087 PROCEDURE insert_row(
5088 p_init_msg_list IN VARCHAR2,
5089 x_return_status OUT NOCOPY VARCHAR2,
5090 x_msg_count OUT NOCOPY NUMBER,
5091 x_msg_data OUT NOCOPY VARCHAR2,
5092 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
5093 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type) IS
5094
5095 l_api_version CONSTANT NUMBER := 1;
5096 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
5097 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5098 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type := p_okc_k_headers_tl_rec;
5099 l_def_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5100 CURSOR get_languages IS
5101 SELECT *
5102 FROM FND_LANGUAGES
5103 WHERE INSTALLED_FLAG IN ('I', 'B');
5104 -----------------------------------------
5105 -- Set_Attributes for:OKC_K_HEADERS_TL --
5106 -----------------------------------------
5107 FUNCTION Set_Attributes (
5108 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
5109 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
5110 ) RETURN VARCHAR2 IS
5111 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5112 BEGIN
5113
5114 IF (l_debug = 'Y') THEN
5115 okc_debug.Set_Indentation('OKC_CHR_PVT');
5116 okc_debug.LOG('14200: Entered Set_Attributes', 2);
5117 END IF;
5118
5119 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
5120 x_okc_k_headers_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
5121 x_okc_k_headers_tl_rec.SOURCE_LANG := okc_util.get_userenv_lang;
5122 RETURN(l_return_status);
5123
5124 END Set_Attributes;
5125 BEGIN
5126
5127 IF (l_debug = 'Y') THEN
5128 okc_debug.Set_Indentation('OKC_CHR_PVT');
5129 okc_debug.LOG('14300: Entered insert_row', 2);
5130 END IF;
5131
5132 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5133 p_init_msg_list,
5134 '_PVT',
5135 x_return_status);
5136 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5137 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5138 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5139 RAISE OKC_API.G_EXCEPTION_ERROR;
5140 END IF;
5141 --- Setting item attributes
5142 l_return_status := Set_Attributes(
5143 p_okc_k_headers_tl_rec, -- IN
5144 l_okc_k_headers_tl_rec); -- OUT
5145 --- If any errors happen abort API
5146 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5147 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5148 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5149 RAISE OKC_API.G_EXCEPTION_ERROR;
5150 END IF;
5151 FOR l_lang_rec IN get_languages LOOP
5152 l_okc_k_headers_tl_rec.language := l_lang_rec.language_code;
5153 INSERT INTO OKC_K_HEADERS_TL(
5154 id,
5155 language,
5156 source_lang,
5157 sfwt_flag,
5158 short_description,
5159 comments,
5160 description,
5161 cognomen,
5162 non_response_reason,
5163 non_response_explain,
5164 set_aside_reason,
5165 created_by,
5166 creation_date,
5167 last_updated_by,
5168 last_update_date,
5169 last_update_login)
5170 VALUES (
5171 l_okc_k_headers_tl_rec.id,
5172 l_okc_k_headers_tl_rec.language,
5173 l_okc_k_headers_tl_rec.source_lang,
5174 l_okc_k_headers_tl_rec.sfwt_flag,
5175 l_okc_k_headers_tl_rec.short_description,
5176 l_okc_k_headers_tl_rec.comments,
5177 l_okc_k_headers_tl_rec.description,
5178 l_okc_k_headers_tl_rec.cognomen,
5179 l_okc_k_headers_tl_rec.non_response_reason,
5180 l_okc_k_headers_tl_rec.non_response_explain,
5181 l_okc_k_headers_tl_rec.set_aside_reason,
5182 l_okc_k_headers_tl_rec.created_by,
5183 l_okc_k_headers_tl_rec.creation_date,
5184 l_okc_k_headers_tl_rec.last_updated_by,
5185 l_okc_k_headers_tl_rec.last_update_date,
5186 l_okc_k_headers_tl_rec.last_update_login);
5187 END LOOP;
5188 -- Set OUT values
5189 x_okc_k_headers_tl_rec := l_okc_k_headers_tl_rec;
5190 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5191 IF (l_debug = 'Y') THEN
5192 okc_debug.LOG('14400: Exiting insert_row', 2);
5193 okc_debug.Reset_Indentation;
5194 END IF;
5195
5196
5197 EXCEPTION
5198 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5199
5200 IF (l_debug = 'Y') THEN
5201 okc_debug.LOG('14500: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5202 okc_debug.Reset_Indentation;
5203 END IF;
5204
5205 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5206 (
5207 l_api_name,
5208 G_PKG_NAME,
5209 'OKC_API.G_RET_STS_ERROR',
5210 x_msg_count,
5211 x_msg_data,
5212 '_PVT'
5213 );
5214 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5215
5216 IF (l_debug = 'Y') THEN
5217 okc_debug.LOG('14600: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5218 okc_debug.Reset_Indentation;
5219 END IF;
5220
5221 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5222 (
5223 l_api_name,
5224 G_PKG_NAME,
5225 'OKC_API.G_RET_STS_UNEXP_ERROR',
5226 x_msg_count,
5227 x_msg_data,
5228 '_PVT'
5229 );
5230 WHEN OTHERS THEN
5231
5232 IF (l_debug = 'Y') THEN
5233 okc_debug.LOG('14700: Exiting insert_row:OTHERS Exception', 2);
5234 okc_debug.Reset_Indentation;
5235 END IF;
5236
5237 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5238 (
5239 l_api_name,
5240 G_PKG_NAME,
5241 'OTHERS',
5242 x_msg_count,
5243 x_msg_data,
5244 '_PVT'
5245 );
5246
5247 END insert_row;
5248 ------------------------------------
5249 -- insert_row for:OKC_K_HEADERS_V --
5250 ------------------------------------
5251 PROCEDURE insert_row(
5252 p_api_version IN NUMBER,
5253 p_init_msg_list IN VARCHAR2,
5254 x_return_status OUT NOCOPY VARCHAR2,
5255 x_msg_count OUT NOCOPY NUMBER,
5256 x_msg_data OUT NOCOPY VARCHAR2,
5257 p_chrv_rec IN chrv_rec_type,
5258 x_chrv_rec OUT NOCOPY chrv_rec_type) IS
5259
5260 l_api_version CONSTANT NUMBER := 1;
5261 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
5262 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5263 l_chrv_rec chrv_rec_type;
5264 l_def_chrv_rec chrv_rec_type;
5265 l_chr_rec chr_rec_type;
5266 lx_chr_rec chr_rec_type;
5267 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5268 lx_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5269 -------------------------------
5270 -- FUNCTION fill_who_columns --
5271 -------------------------------
5272 FUNCTION fill_who_columns (
5273 p_chrv_rec IN chrv_rec_type
5274 ) RETURN chrv_rec_type IS
5275 l_chrv_rec chrv_rec_type := p_chrv_rec;
5276 BEGIN
5277
5278 IF (l_debug = 'Y') THEN
5279 okc_debug.Set_Indentation('OKC_CHR_PVT');
5280 okc_debug.LOG('14800: Entered fill_who_columns', 2);
5281 END IF;
5282
5283 l_chrv_rec.CREATION_DATE := SYSDATE;
5284 /*Modified in bugfix for 13079117*/
5285 l_chrv_rec.CREATED_BY := NVL(OKC_ASYNC_PVT.G_USER_ID, FND_GLOBAL.USER_ID);
5286 l_chrv_rec.LAST_UPDATE_DATE := l_chrv_rec.CREATION_DATE;
5287 /*Modified in bugfix for 13079117*/
5288 l_chrv_rec.LAST_UPDATED_BY := NVL(OKC_ASYNC_PVT.G_USER_ID, FND_GLOBAL.USER_ID);
5289 l_chrv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
5290 RETURN(l_chrv_rec);
5291
5292 END fill_who_columns;
5293 ----------------------------------------
5294 -- Set_Attributes for:OKC_K_HEADERS_V --
5295 ----------------------------------------
5296 FUNCTION Set_Attributes (
5297 p_chrv_rec IN chrv_rec_type,
5298 x_chrv_rec OUT NOCOPY chrv_rec_type
5299 ) RETURN VARCHAR2 IS
5300 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5301 CURSOR l_app_csr(p_scs_code VARCHAR2) IS
5302 SELECT application_id
5303 FROM okc_classes_b cls, okc_subclasses_b scs
5304 WHERE cls.code = scs.cls_code
5305 AND scs.code = p_scs_code;
5306 BEGIN
5307
5308 IF (l_debug = 'Y') THEN
5309 okc_debug.Set_Indentation('OKC_CHR_PVT');
5310 okc_debug.LOG('14900: Entered Set_Attributes', 2);
5311 END IF;
5312
5313 x_chrv_rec := p_chrv_rec;
5314 x_chrv_rec.OBJECT_VERSION_NUMBER := 1;
5315 x_chrv_rec.SFWT_FLAG := 'N';
5316 /************************ HAND-CODED *********************************/
5317 x_chrv_rec.ARCHIVED_YN := UPPER(x_chrv_rec.ARCHIVED_YN);
5318 x_chrv_rec.DELETED_YN := UPPER(x_chrv_rec.DELETED_YN);
5319 x_chrv_rec.CUST_PO_NUMBER_REQ_YN := UPPER(x_chrv_rec.CUST_PO_NUMBER_REQ_YN);
5320 x_chrv_rec.PRE_PAY_REQ_YN := UPPER(x_chrv_rec.PRE_PAY_REQ_YN);
5321 x_chrv_rec.TEMPLATE_YN := UPPER(x_chrv_rec.TEMPLATE_YN);
5322 x_chrv_rec.TEMPLATE_USED := UPPER(x_chrv_rec.TEMPLATE_USED);
5323 x_chrv_rec.KEEP_ON_MAIL_LIST := UPPER(x_chrv_rec.KEEP_ON_MAIL_LIST);
5324 --Supports only CYA in this release
5325 x_chrv_rec.CHR_TYPE := 'CYA';
5326 /*--spingali bugfix for bug 12747411 start*/
5327 IF (Nvl(OKS_EXTWARPRGM_PVT.G_TRF_K_CREATE,'N') ='Y') AND (x_chrv_rec.AUTHORING_ORG_ID<>(nvl(OKC_CONTEXT.GET_OKC_ORG_ID,-99)))THEN
5328 x_chrv_rec.AUTHORING_ORG_ID := nvl(x_chrv_rec.AUTHORING_ORG_ID,nvl(OKC_CONTEXT.GET_OKC_ORG_ID,-99));
5329 x_chrv_rec.INV_ORGANIZATION_ID := nvl(x_chrv_rec.INV_ORGANIZATION_ID,nvl(OKC_CONTEXT.GET_OKC_ORGANIZATION_ID,-99));
5330 ELSE
5331 x_chrv_rec.AUTHORING_ORG_ID := nvl(OKC_CONTEXT.GET_OKC_ORG_ID,-99);
5332 x_chrv_rec.INV_ORGANIZATION_ID := nvl(OKC_CONTEXT.GET_OKC_ORGANIZATION_ID,-99);
5333 END IF;
5334 /*--spingali bugfix for bug 12747411-end*/
5335 ---x_chrv_rec.AUTHORING_ORG_ID := nvl(OKC_CONTEXT.GET_OKC_ORG_ID, - 99);
5336 x_chrv_rec.ORG_ID := nvl(OKC_CONTEXT.GET_OKC_ORG_ID, - 99); --mmadhavi added for MOAC
5337 ---x_chrv_rec.INV_ORGANIZATION_ID := nvl(OKC_CONTEXT.GET_OKC_ORGANIZATION_ID, - 99);
5338 /* Bug 3652127 */
5339 -- populate application id
5340 OPEN l_app_csr(p_chrv_rec.scs_code);
5341 FETCH l_app_csr INTO l_application_id;
5342 CLOSE l_app_csr;
5343
5344 x_chrv_rec.application_id := l_application_id;
5345 /*********************** END HAND-CODED ********************************/
5346 RETURN(l_return_status);
5347
5348 END Set_Attributes;
5349 BEGIN
5350
5351 IF (l_debug = 'Y') THEN
5352 okc_debug.Set_Indentation('OKC_CHR_PVT');
5353 okc_debug.LOG('15000: Entered insert_row', 2);
5354 END IF;
5355
5356 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5357 G_PKG_NAME,
5358 p_init_msg_list,
5359 l_api_version,
5360 p_api_version,
5361 '_PVT',
5362 x_return_status);
5363 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5364 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5365 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5366 RAISE OKC_API.G_EXCEPTION_ERROR;
5367 END IF;
5368 l_chrv_rec := null_out_defaults(p_chrv_rec);
5369 -- Set primary key value
5370 l_chrv_rec.ID := get_seq_id;
5371 l_chrv_rec.DOCUMENT_ID := l_chrv_rec.ID;
5372 --- Setting item attributes
5373 l_return_status := Set_Attributes(
5374 l_chrv_rec, -- IN
5375 l_def_chrv_rec); -- OUT
5376 --- If any errors happen abort API
5377 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5378 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5379 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5380 RAISE OKC_API.G_EXCEPTION_ERROR;
5381 END IF;
5382 l_def_chrv_rec := fill_who_columns(l_def_chrv_rec);
5383
5384 IF p_chrv_rec.VALIDATE_YN = 'Y' THEN ---Bug#3150149
5385 --- Validate all non-missing attributes (Item Level Validation)
5386 l_return_status := Validate_Attributes(l_def_chrv_rec);
5387 END IF; ---Bug#3150149
5388
5389 --- If any errors happen abort API
5390 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5391 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5392 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5393 RAISE OKC_API.G_EXCEPTION_ERROR;
5394 END IF;
5395 l_return_status := Validate_Record(l_def_chrv_rec);
5396 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5397 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5398 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5399 RAISE OKC_API.G_EXCEPTION_ERROR;
5400 END IF;
5401 --------------------------------------
5402 -- Move VIEW record to "Child" records
5403 --------------------------------------
5404 migrate(l_def_chrv_rec, l_chr_rec);
5405 migrate(l_def_chrv_rec, l_okc_k_headers_tl_rec);
5406
5407 --------------------------------------------
5408 -- Call the INSERT_ROW for each child record
5409 --------------------------------------------
5410 insert_row(
5411 p_init_msg_list,
5412 x_return_status,
5413 x_msg_count,
5414 x_msg_data,
5415 l_chr_rec,
5416 lx_chr_rec
5417 );
5418 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5419 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5420 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5421 RAISE OKC_API.G_EXCEPTION_ERROR;
5422 END IF;
5423 migrate(lx_chr_rec, l_def_chrv_rec);
5424 insert_row(
5425 p_init_msg_list,
5426 x_return_status,
5427 x_msg_count,
5428 x_msg_data,
5429 l_okc_k_headers_tl_rec,
5430 lx_okc_k_headers_tl_rec
5431 );
5432 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5433 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5434 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5435 RAISE OKC_API.G_EXCEPTION_ERROR;
5436 END IF;
5437 migrate(lx_okc_k_headers_tl_rec, l_def_chrv_rec);
5438 -- Set OUT values
5439 x_chrv_rec := l_def_chrv_rec;
5440 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5441 IF (l_debug = 'Y') THEN
5442 okc_debug.LOG('15100: Exiting insert_row', 2);
5443 okc_debug.Reset_Indentation;
5444 END IF;
5445
5446
5447 EXCEPTION
5448 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5449
5450 IF (l_debug = 'Y') THEN
5451 okc_debug.LOG('15200: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5452 okc_debug.Reset_Indentation;
5453 END IF;
5454
5455 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5456 (
5457 l_api_name,
5458 G_PKG_NAME,
5459 'OKC_API.G_RET_STS_ERROR',
5460 x_msg_count,
5461 x_msg_data,
5462 '_PVT'
5463 );
5464 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5465
5466 IF (l_debug = 'Y') THEN
5467 okc_debug.LOG('15300: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5468 okc_debug.Reset_Indentation;
5469 END IF;
5470
5471 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5472 (
5473 l_api_name,
5474 G_PKG_NAME,
5475 'OKC_API.G_RET_STS_UNEXP_ERROR',
5476 x_msg_count,
5477 x_msg_data,
5478 '_PVT'
5479 );
5480 WHEN OTHERS THEN
5481
5482 IF (l_debug = 'Y') THEN
5483 okc_debug.LOG('15400: Exiting insert_row:OTHERS Exception', 2);
5484 okc_debug.Reset_Indentation;
5485 END IF;
5486
5487 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5488 (
5489 l_api_name,
5490 G_PKG_NAME,
5491 'OTHERS',
5492 x_msg_count,
5493 x_msg_data,
5494 '_PVT'
5495 );
5496
5497 END insert_row;
5498 ----------------------------------------
5499 -- PL/SQL TBL insert_row for:CHRV_TBL --
5500 ----------------------------------------
5501 PROCEDURE insert_row(
5502 p_api_version IN NUMBER,
5503 p_init_msg_list IN VARCHAR2,
5504 x_return_status OUT NOCOPY VARCHAR2,
5505 x_msg_count OUT NOCOPY NUMBER,
5506 x_msg_data OUT NOCOPY VARCHAR2,
5507 p_chrv_tbl IN chrv_tbl_type,
5508 x_chrv_tbl OUT NOCOPY chrv_tbl_type) IS
5509
5510 l_api_version CONSTANT NUMBER := 1;
5511 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
5512 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5513 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5514 i NUMBER := 0;
5515 l_chrv_rec OKC_CHR_PVT.chrv_rec_type;
5516 BEGIN
5517
5518 IF (l_debug = 'Y') THEN
5519 okc_debug.Set_Indentation('OKC_CHR_PVT');
5520 okc_debug.LOG('15500: Entered insert_row', 2);
5521 END IF;
5522
5523 OKC_API.init_msg_list(p_init_msg_list);
5524 -- Make sure PL/SQL table has records in it before passing
5525 IF (p_chrv_tbl.COUNT > 0) THEN
5526 i := p_chrv_tbl.FIRST;
5527 LOOP
5528 /************************ HAND-CODED ***************************/
5529 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5530 l_chrv_rec := p_chrv_tbl(i);
5531 -- if contract number is null, polpulate default contract number
5532 IF (l_chrv_rec.contract_number = OKC_API.G_MISS_CHAR OR
5533 l_chrv_rec.contract_number IS NULL)
5534 THEN
5535
5536 OKC_CONTRACT_PVT.GENERATE_CONTRACT_NUMBER(
5537 p_scs_code => l_chrv_rec.scs_code,
5538 p_modifier => l_chrv_rec.contract_number_modifier,
5539 x_return_status => x_return_status,
5540 x_contract_number => l_chrv_rec.contract_number);
5541
5542 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5543 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
5544 p_msg_name => g_unexpected_error,
5545 p_token1 => g_sqlcode_token,
5546 p_token1_value => SQLCODE,
5547 p_token2 => g_sqlerrm_token,
5548 p_token2_value => SQLERRM);
5549 END IF;
5550 END IF;
5551
5552 IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
5553 insert_row (
5554 p_api_version => p_api_version,
5555 p_init_msg_list => p_init_msg_list,
5556 x_return_status => x_return_status,
5557 x_msg_count => x_msg_count,
5558 x_msg_data => x_msg_data,
5559 p_chrv_rec => l_chrv_rec,
5560 x_chrv_rec => x_chrv_tbl(i));
5561 END IF;
5562
5563 -- store the highest degree of error
5564 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
5565 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
5566 l_overall_status := x_return_status;
5567 END IF;
5568 END IF;
5569 /*********************** END HAND-CODED ************************/
5570 EXIT WHEN (i = p_chrv_tbl.LAST);
5571 i := p_chrv_tbl.NEXT(i);
5572 END LOOP;
5573 -- return overall status
5574 x_return_status := l_overall_status;
5575 END IF;
5576 IF (l_debug = 'Y') THEN
5577 okc_debug.LOG('15600: Exiting insert_row', 2);
5578 okc_debug.Reset_Indentation;
5579 END IF;
5580
5581
5582 EXCEPTION
5583 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5584
5585 IF (l_debug = 'Y') THEN
5586 okc_debug.LOG('15700: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5587 okc_debug.Reset_Indentation;
5588 END IF;
5589
5590 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5591 (
5592 l_api_name,
5593 G_PKG_NAME,
5594 'OKC_API.G_RET_STS_ERROR',
5595 x_msg_count,
5596 x_msg_data,
5597 '_PVT'
5598 );
5599 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5600
5601 IF (l_debug = 'Y') THEN
5602 okc_debug.LOG('15800: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5603 okc_debug.Reset_Indentation;
5604 END IF;
5605
5606 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5607 (
5608 l_api_name,
5609 G_PKG_NAME,
5610 'OKC_API.G_RET_STS_UNEXP_ERROR',
5611 x_msg_count,
5612 x_msg_data,
5613 '_PVT'
5614 );
5615 WHEN OTHERS THEN
5616
5617 IF (l_debug = 'Y') THEN
5618 okc_debug.LOG('15900: Exiting insert_row:OTHERS Exception', 2);
5619 okc_debug.Reset_Indentation;
5620 END IF;
5621
5622 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5623 (
5624 l_api_name,
5625 G_PKG_NAME,
5626 'OTHERS',
5627 x_msg_count,
5628 x_msg_data,
5629 '_PVT'
5630 );
5631
5632 END insert_row;
5633
5634 ---------------------------------------------------------------------------
5635 -- PROCEDURE lock_row
5636 ---------------------------------------------------------------------------
5637 ----------------------------------
5638 -- lock_row for:OKC_K_HEADERS_ALL_B --
5639 ----------------------------------
5640 PROCEDURE lock_row(
5641 p_init_msg_list IN VARCHAR2,
5642 x_return_status OUT NOCOPY VARCHAR2,
5643 x_msg_count OUT NOCOPY NUMBER,
5644 x_msg_data OUT NOCOPY VARCHAR2,
5645 p_chr_rec IN chr_rec_type) IS
5646
5647 E_Resource_Busy EXCEPTION;
5648 PRAGMA EXCEPTION_INIT(E_Resource_Busy, - 00054);
5649 CURSOR lock_csr (p_chr_rec IN chr_rec_type) IS
5650 SELECT OBJECT_VERSION_NUMBER
5651 FROM OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
5652 WHERE ID = p_chr_rec.id
5653 AND OBJECT_VERSION_NUMBER = p_chr_rec.object_version_number
5654 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
5655
5656 CURSOR lchk_csr (p_chr_rec IN chr_rec_type) IS
5657 SELECT OBJECT_VERSION_NUMBER
5658 FROM OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
5659 WHERE ID = p_chr_rec.id;
5660 l_api_version CONSTANT NUMBER := 1;
5661 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
5662 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5663 l_object_version_number OKC_K_HEADERS_B.OBJECT_VERSION_NUMBER%TYPE;
5664 lc_object_version_number OKC_K_HEADERS_B.OBJECT_VERSION_NUMBER%TYPE;
5665 l_row_notfound BOOLEAN := FALSE;
5666 lc_row_notfound BOOLEAN := FALSE;
5667 BEGIN
5668
5669 IF (l_debug = 'Y') THEN
5670 okc_debug.Set_Indentation('OKC_CHR_PVT');
5671 okc_debug.LOG('16000: Entered lock_row', 2);
5672 END IF;
5673
5674 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5675 p_init_msg_list,
5676 '_PVT',
5677 x_return_status);
5678 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5679 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5680 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5681 RAISE OKC_API.G_EXCEPTION_ERROR;
5682 END IF;
5683 BEGIN
5684
5685 IF (l_debug = 'Y') THEN
5686 okc_debug.Set_Indentation('OKC_CHR_PVT');
5687 okc_debug.LOG('16100: Entered lock_row', 2);
5688 END IF;
5689
5690 OPEN lock_csr(p_chr_rec);
5691 FETCH lock_csr INTO l_object_version_number;
5692 l_row_notfound := lock_csr%NOTFOUND;
5693 CLOSE lock_csr;
5694 IF (l_debug = 'Y') THEN
5695 okc_debug.LOG('16200: Exiting lock_row', 2);
5696 okc_debug.Reset_Indentation;
5697 END IF;
5698
5699
5700 EXCEPTION
5701 WHEN E_Resource_Busy THEN
5702
5703 IF (l_debug = 'Y') THEN
5704 okc_debug.LOG('16300: Exiting lock_row:E_Resource_Busy Exception', 2);
5705 okc_debug.Reset_Indentation;
5706 END IF;
5707
5708 IF (lock_csr%ISOPEN) THEN
5709 CLOSE lock_csr;
5710 END IF;
5711 OKC_API.set_message(G_FND_APP, G_FORM_UNABLE_TO_RESERVE_REC);
5712 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
5713 END;
5714
5715 IF (l_row_notfound ) THEN
5716 OPEN lchk_csr(p_chr_rec);
5717 FETCH lchk_csr INTO lc_object_version_number;
5718 lc_row_notfound := lchk_csr%NOTFOUND;
5719 CLOSE lchk_csr;
5720 END IF;
5721 IF (lc_row_notfound) THEN
5722 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_DELETED');
5723 RAISE OKC_API.G_EXCEPTION_ERROR;
5724 ELSIF lc_object_version_number > p_chr_rec.object_version_number THEN
5725 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_CHANGED');
5726 RAISE OKC_API.G_EXCEPTION_ERROR;
5727 ELSIF lc_object_version_number <> p_chr_rec.object_version_number THEN
5728 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_CHANGED');
5729 RAISE OKC_API.G_EXCEPTION_ERROR;
5730 ELSIF lc_object_version_number = - 1 THEN
5731 OKC_API.set_message(G_FND_APP, G_RECORD_LOGICALLY_DELETED);
5732 RAISE OKC_API.G_EXCEPTION_ERROR;
5733 END IF;
5734 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5735 IF (l_debug = 'Y') THEN
5736 okc_debug.LOG('16400: Exiting lock_row', 2);
5737 okc_debug.Reset_Indentation;
5738 END IF;
5739
5740
5741 EXCEPTION
5742 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5743
5744 IF (l_debug = 'Y') THEN
5745 okc_debug.LOG('16500: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5746 okc_debug.Reset_Indentation;
5747 END IF;
5748
5749 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5750 (
5751 l_api_name,
5752 G_PKG_NAME,
5753 'OKC_API.G_RET_STS_ERROR',
5754 x_msg_count,
5755 x_msg_data,
5756 '_PVT'
5757 );
5758 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5759
5760 IF (l_debug = 'Y') THEN
5761 okc_debug.LOG('16600: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5762 okc_debug.Reset_Indentation;
5763 END IF;
5764
5765 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5766 (
5767 l_api_name,
5768 G_PKG_NAME,
5769 'OKC_API.G_RET_STS_UNEXP_ERROR',
5770 x_msg_count,
5771 x_msg_data,
5772 '_PVT'
5773 );
5774 WHEN OTHERS THEN
5775
5776 IF (l_debug = 'Y') THEN
5777 okc_debug.LOG('16700: Exiting lock_row:OTHERS Exception', 2);
5778 okc_debug.Reset_Indentation;
5779 END IF;
5780
5781 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5782 (
5783 l_api_name,
5784 G_PKG_NAME,
5785 'OTHERS',
5786 x_msg_count,
5787 x_msg_data,
5788 '_PVT'
5789 );
5790
5791 END lock_row;
5792 -----------------------------------
5793 -- lock_row for:OKC_K_HEADERS_TL --
5794 -----------------------------------
5795 PROCEDURE lock_row(
5796 p_init_msg_list IN VARCHAR2,
5797 x_return_status OUT NOCOPY VARCHAR2,
5798 x_msg_count OUT NOCOPY NUMBER,
5799 x_msg_data OUT NOCOPY VARCHAR2,
5800 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type) IS
5801
5802 E_Resource_Busy EXCEPTION;
5803 PRAGMA EXCEPTION_INIT(E_Resource_Busy, - 00054);
5804 CURSOR lock_csr (p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type) IS
5805 SELECT *
5806 FROM OKC_K_HEADERS_TL
5807 WHERE ID = p_okc_k_headers_tl_rec.id
5808 FOR UPDATE NOWAIT;
5809
5810 l_api_version CONSTANT NUMBER := 1;
5811 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
5812 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5813 l_lock_var lock_csr%ROWTYPE;
5814 l_row_notfound BOOLEAN := FALSE;
5815 lc_row_notfound BOOLEAN := FALSE;
5816 BEGIN
5817
5818 IF (l_debug = 'Y') THEN
5819 okc_debug.Set_Indentation('OKC_CHR_PVT');
5820 okc_debug.LOG('16800: Entered lock_row', 2);
5821 END IF;
5822
5823 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5824 p_init_msg_list,
5825 '_PVT',
5826 x_return_status);
5827 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5828 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5829 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5830 RAISE OKC_API.G_EXCEPTION_ERROR;
5831 END IF;
5832 BEGIN
5833
5834 IF (l_debug = 'Y') THEN
5835 okc_debug.Set_Indentation('OKC_CHR_PVT');
5836 okc_debug.LOG('16900: Entered lock_row', 2);
5837 END IF;
5838
5839 OPEN lock_csr(p_okc_k_headers_tl_rec);
5840 FETCH lock_csr INTO l_lock_var;
5841 l_row_notfound := lock_csr%NOTFOUND;
5842 CLOSE lock_csr;
5843 IF (l_debug = 'Y') THEN
5844 okc_debug.LOG('17000: Exiting lock_row', 2);
5845 okc_debug.Reset_Indentation;
5846 END IF;
5847
5848
5849 EXCEPTION
5850 WHEN E_Resource_Busy THEN
5851
5852 IF (l_debug = 'Y') THEN
5853 okc_debug.LOG('17100: Exiting lock_row:E_Resource_Busy Exception', 2);
5854 okc_debug.Reset_Indentation;
5855 END IF;
5856
5857 IF (lock_csr%ISOPEN) THEN
5858 CLOSE lock_csr;
5859 END IF;
5860 OKC_API.set_message(G_FND_APP, G_FORM_UNABLE_TO_RESERVE_REC);
5861 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
5862 END;
5863
5864 IF (l_row_notfound ) THEN
5865 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_DELETED');
5866 RAISE OKC_API.G_EXCEPTION_ERROR;
5867 END IF;
5868 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5869 IF (l_debug = 'Y') THEN
5870 okc_debug.LOG('17200: Exiting lock_row', 2);
5871 okc_debug.Reset_Indentation;
5872 END IF;
5873
5874
5875 EXCEPTION
5876 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5877
5878 IF (l_debug = 'Y') THEN
5879 okc_debug.LOG('17300: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5880 okc_debug.Reset_Indentation;
5881 END IF;
5882
5883 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5884 (
5885 l_api_name,
5886 G_PKG_NAME,
5887 'OKC_API.G_RET_STS_ERROR',
5888 x_msg_count,
5889 x_msg_data,
5890 '_PVT'
5891 );
5892 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5893
5894 IF (l_debug = 'Y') THEN
5895 okc_debug.LOG('17400: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5896 okc_debug.Reset_Indentation;
5897 END IF;
5898
5899 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5900 (
5901 l_api_name,
5902 G_PKG_NAME,
5903 'OKC_API.G_RET_STS_UNEXP_ERROR',
5904 x_msg_count,
5905 x_msg_data,
5906 '_PVT'
5907 );
5908 WHEN OTHERS THEN
5909
5910 IF (l_debug = 'Y') THEN
5911 okc_debug.LOG('17500: Exiting lock_row:OTHERS Exception', 2);
5912 okc_debug.Reset_Indentation;
5913 END IF;
5914
5915 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5916 (
5917 l_api_name,
5918 G_PKG_NAME,
5919 'OTHERS',
5920 x_msg_count,
5921 x_msg_data,
5922 '_PVT'
5923 );
5924
5925 END lock_row;
5926 ----------------------------------
5927 -- lock_row for:OKC_K_HEADERS_V --
5928 ----------------------------------
5929 PROCEDURE lock_row(
5930 p_api_version IN NUMBER,
5931 p_init_msg_list IN VARCHAR2,
5932 x_return_status OUT NOCOPY VARCHAR2,
5933 x_msg_count OUT NOCOPY NUMBER,
5934 x_msg_data OUT NOCOPY VARCHAR2,
5935 p_chrv_rec IN chrv_rec_type) IS
5936
5937 l_api_version CONSTANT NUMBER := 1;
5938 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
5939 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5940 l_chr_rec chr_rec_type;
5941 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5942 BEGIN
5943
5944 IF (l_debug = 'Y') THEN
5945 okc_debug.Set_Indentation('OKC_CHR_PVT');
5946 okc_debug.LOG('17600: Entered lock_row', 2);
5947 END IF;
5948
5949 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5950 G_PKG_NAME,
5951 p_init_msg_list,
5952 l_api_version,
5953 p_api_version,
5954 '_PVT',
5955 x_return_status);
5956 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5957 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5958 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5959 RAISE OKC_API.G_EXCEPTION_ERROR;
5960 END IF;
5961 --------------------------------------
5962 -- Move VIEW record to "Child" records
5963 --------------------------------------
5964 migrate(p_chrv_rec, l_chr_rec);
5965 migrate(p_chrv_rec, l_okc_k_headers_tl_rec);
5966 --------------------------------------------
5967 -- Call the LOCK_ROW for each child record
5968 --------------------------------------------
5969 lock_row(
5970 p_init_msg_list,
5971 x_return_status,
5972 x_msg_count,
5973 x_msg_data,
5974 l_chr_rec
5975 );
5976 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5977 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5978 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5979 RAISE OKC_API.G_EXCEPTION_ERROR;
5980 END IF;
5981 lock_row(
5982 p_init_msg_list,
5983 x_return_status,
5984 x_msg_count,
5985 x_msg_data,
5986 l_okc_k_headers_tl_rec
5987 );
5988 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5989 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5990 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5991 RAISE OKC_API.G_EXCEPTION_ERROR;
5992 END IF;
5993 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5994 IF (l_debug = 'Y') THEN
5995 okc_debug.LOG('17700: Exiting lock_row', 2);
5996 okc_debug.Reset_Indentation;
5997 END IF;
5998
5999
6000 EXCEPTION
6001 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6002
6003 IF (l_debug = 'Y') THEN
6004 okc_debug.LOG('17800: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6005 okc_debug.Reset_Indentation;
6006 END IF;
6007
6008 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6009 (
6010 l_api_name,
6011 G_PKG_NAME,
6012 'OKC_API.G_RET_STS_ERROR',
6013 x_msg_count,
6014 x_msg_data,
6015 '_PVT'
6016 );
6017 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6018
6019 IF (l_debug = 'Y') THEN
6020 okc_debug.LOG('17900: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
6021 okc_debug.Reset_Indentation;
6022 END IF;
6023
6024 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6025 (
6026 l_api_name,
6027 G_PKG_NAME,
6028 'OKC_API.G_RET_STS_UNEXP_ERROR',
6029 x_msg_count,
6030 x_msg_data,
6031 '_PVT'
6032 );
6033 WHEN OTHERS THEN
6034
6035 IF (l_debug = 'Y') THEN
6036 okc_debug.LOG('18000: Exiting lock_row:OTHERS Exception', 2);
6037 okc_debug.Reset_Indentation;
6038 END IF;
6039
6040 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6041 (
6042 l_api_name,
6043 G_PKG_NAME,
6044 'OTHERS',
6045 x_msg_count,
6046 x_msg_data,
6047 '_PVT'
6048 );
6049
6050 END lock_row;
6051 --------------------------------------
6052 -- PL/SQL TBL lock_row for:CHRV_TBL --
6053 --------------------------------------
6054 PROCEDURE lock_row(
6055 p_api_version IN NUMBER,
6056 p_init_msg_list IN VARCHAR2,
6057 x_return_status OUT NOCOPY VARCHAR2,
6058 x_msg_count OUT NOCOPY NUMBER,
6059 x_msg_data OUT NOCOPY VARCHAR2,
6060 p_chrv_tbl IN chrv_tbl_type) IS
6061
6062 l_api_version CONSTANT NUMBER := 1;
6063 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
6064 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6065 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6066 i NUMBER := 0;
6067 BEGIN
6068
6069 IF (l_debug = 'Y') THEN
6070 okc_debug.Set_Indentation('OKC_CHR_PVT');
6071 okc_debug.LOG('18100: Entered lock_row', 2);
6072 END IF;
6073
6074 OKC_API.init_msg_list(p_init_msg_list);
6075 -- Make sure PL/SQL table has records in it before passing
6076 IF (p_chrv_tbl.COUNT > 0) THEN
6077 i := p_chrv_tbl.FIRST;
6078 LOOP
6079 lock_row (
6080 p_api_version => p_api_version,
6081 p_init_msg_list => OKC_API.G_FALSE,
6082 x_return_status => x_return_status,
6083 x_msg_count => x_msg_count,
6084 x_msg_data => x_msg_data,
6085 p_chrv_rec => p_chrv_tbl(i));
6086
6087 -- store the highest degree of error
6088 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
6089 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
6090 l_overall_status := x_return_status;
6091 END IF;
6092 END IF;
6093
6094 EXIT WHEN (i = p_chrv_tbl.LAST);
6095 i := p_chrv_tbl.NEXT(i);
6096 END LOOP;
6097 -- return overall status
6098 x_return_status := l_overall_status;
6099 END IF;
6100 IF (l_debug = 'Y') THEN
6101 okc_debug.LOG('18200: Exiting lock_row', 2);
6102 okc_debug.Reset_Indentation;
6103 END IF;
6104
6105
6106 EXCEPTION
6107 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6108
6109 IF (l_debug = 'Y') THEN
6110 okc_debug.LOG('18300: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6111 okc_debug.Reset_Indentation;
6112 END IF;
6113
6114 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6115 (
6116 l_api_name,
6117 G_PKG_NAME,
6118 'OKC_API.G_RET_STS_ERROR',
6119 x_msg_count,
6120 x_msg_data,
6121 '_PVT'
6122 );
6123 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6124
6125 IF (l_debug = 'Y') THEN
6126 okc_debug.LOG('18400: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
6127 okc_debug.Reset_Indentation;
6128 END IF;
6129
6130 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6131 (
6132 l_api_name,
6133 G_PKG_NAME,
6134 'OKC_API.G_RET_STS_UNEXP_ERROR',
6135 x_msg_count,
6136 x_msg_data,
6137 '_PVT'
6138 );
6139 WHEN OTHERS THEN
6140
6141 IF (l_debug = 'Y') THEN
6142 okc_debug.LOG('18500: Exiting lock_row:OTHERS Exception', 2);
6143 okc_debug.Reset_Indentation;
6144 END IF;
6145
6146 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6147 (
6148 l_api_name,
6149 G_PKG_NAME,
6150 'OTHERS',
6151 x_msg_count,
6152 x_msg_data,
6153 '_PVT'
6154 );
6155
6156 END lock_row;
6157
6158 ---------------------------------------------------------------------------
6159 -- PROCEDURE update_row
6160 ---------------------------------------------------------------------------
6161 ------------------------------------
6162 -- update_row for:OKC_K_HEADERS_ALL_B --
6163 ------------------------------------
6164 PROCEDURE update_row(
6165 p_init_msg_list IN VARCHAR2,
6166 x_return_status OUT NOCOPY VARCHAR2,
6167 x_msg_count OUT NOCOPY NUMBER,
6168 x_msg_data OUT NOCOPY VARCHAR2,
6169 p_restricted_update IN VARCHAR2,
6170 p_chr_rec IN chr_rec_type,
6171 x_chr_rec OUT NOCOPY chr_rec_type) IS
6172
6173 l_api_version CONSTANT NUMBER := 1;
6174 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
6175 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6176 l_chr_rec chr_rec_type := p_chr_rec;
6177 l_def_chr_rec chr_rec_type;
6178 l_row_notfound BOOLEAN := TRUE;
6179 ----------------------------------
6180 -- FUNCTION populate_new_record --
6181 ----------------------------------
6182 FUNCTION populate_new_record (
6183 p_chr_rec IN chr_rec_type,
6184 x_chr_rec OUT NOCOPY chr_rec_type
6185 ) RETURN VARCHAR2 IS
6186 l_chr_rec chr_rec_type;
6187 l_row_notfound BOOLEAN := TRUE;
6188 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6189 BEGIN
6190
6191 IF (l_debug = 'Y') THEN
6192 okc_debug.Set_Indentation('OKC_CHR_PVT');
6193 okc_debug.LOG('18600: Entered populate_new_record', 2);
6194 END IF;
6195
6196 x_chr_rec := p_chr_rec;
6197 -- Get current database values
6198 l_chr_rec := get_rec(p_chr_rec, l_row_notfound);
6199 IF (l_row_notfound) THEN
6200 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6201 END IF;
6202 IF (x_chr_rec.id = OKC_API.G_MISS_NUM)
6203 THEN
6204 x_chr_rec.id := l_chr_rec.id;
6205 END IF;
6206 IF (x_chr_rec.contract_number = OKC_API.G_MISS_CHAR)
6207 THEN
6208 x_chr_rec.contract_number := l_chr_rec.contract_number;
6209 END IF;
6210 IF (x_chr_rec.authoring_org_id = OKC_API.G_MISS_NUM)
6211 THEN
6212 x_chr_rec.authoring_org_id := l_chr_rec.authoring_org_id;
6213 END IF;
6214 --mmadhavi added for MOAC
6215
6216 IF (x_chr_rec.org_id = OKC_API.G_MISS_NUM)
6217 THEN
6218 x_chr_rec.org_id := l_chr_rec.org_id;
6219 END IF;
6220
6221 --mmadhavi end MOAC
6222 IF (x_chr_rec.contract_number_modifier = OKC_API.G_MISS_CHAR)
6223 THEN
6224 x_chr_rec.contract_number_modifier := l_chr_rec.contract_number_modifier;
6225 END IF;
6226 IF (x_chr_rec.chr_id_response = OKC_API.G_MISS_NUM)
6227 THEN
6228 x_chr_rec.chr_id_response := l_chr_rec.chr_id_response;
6229 END IF;
6230 IF (x_chr_rec.chr_id_award = OKC_API.G_MISS_NUM)
6231 THEN
6232 x_chr_rec.chr_id_award := l_chr_rec.chr_id_award;
6233 END IF;
6234 IF (x_chr_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM)
6235 THEN
6236 x_chr_rec.INV_ORGANIZATION_ID := l_chr_rec.INV_ORGANIZATION_ID;
6237 END IF;
6238 IF (x_chr_rec.sts_code = OKC_API.G_MISS_CHAR)
6239 THEN
6240 x_chr_rec.sts_code := l_chr_rec.sts_code;
6241 END IF;
6242 IF (x_chr_rec.qcl_id = OKC_API.G_MISS_NUM)
6243 THEN
6244 x_chr_rec.qcl_id := l_chr_rec.qcl_id;
6245 END IF;
6246 IF (x_chr_rec.scs_code = OKC_API.G_MISS_CHAR)
6247 THEN
6248 x_chr_rec.scs_code := l_chr_rec.scs_code;
6249 END IF;
6250 IF (x_chr_rec.trn_code = OKC_API.G_MISS_CHAR)
6251 THEN
6252 x_chr_rec.trn_code := l_chr_rec.trn_code;
6253 END IF;
6254 IF (x_chr_rec.currency_code = OKC_API.G_MISS_CHAR)
6255 THEN
6256 x_chr_rec.currency_code := l_chr_rec.currency_code;
6257 END IF;
6258 IF (x_chr_rec.archived_yn = OKC_API.G_MISS_CHAR)
6259 THEN
6260 x_chr_rec.archived_yn := l_chr_rec.archived_yn;
6261 END IF;
6262 IF (x_chr_rec.deleted_yn = OKC_API.G_MISS_CHAR)
6263 THEN
6264 x_chr_rec.deleted_yn := l_chr_rec.deleted_yn;
6265 END IF;
6266 IF (x_chr_rec.template_yn = OKC_API.G_MISS_CHAR)
6267 THEN
6268 x_chr_rec.template_yn := l_chr_rec.template_yn;
6269 END IF;
6270 IF (x_chr_rec.chr_type = OKC_API.G_MISS_CHAR)
6271 THEN
6272 x_chr_rec.chr_type := l_chr_rec.chr_type;
6273 END IF;
6274 IF (x_chr_rec.object_version_number = OKC_API.G_MISS_NUM)
6275 THEN
6276 x_chr_rec.object_version_number := l_chr_rec.object_version_number;
6277 END IF;
6278 IF (x_chr_rec.created_by = OKC_API.G_MISS_NUM)
6279 THEN
6280 x_chr_rec.created_by := l_chr_rec.created_by;
6281 END IF;
6282 IF (x_chr_rec.creation_date = OKC_API.G_MISS_DATE)
6283 THEN
6284 x_chr_rec.creation_date := l_chr_rec.creation_date;
6285 END IF;
6286 IF (x_chr_rec.last_updated_by = OKC_API.G_MISS_NUM)
6287 THEN
6288 x_chr_rec.last_updated_by := l_chr_rec.last_updated_by;
6289 END IF;
6290 IF (x_chr_rec.last_update_date = OKC_API.G_MISS_DATE)
6291 THEN
6292 x_chr_rec.last_update_date := l_chr_rec.last_update_date;
6293 END IF;
6294 IF (x_chr_rec.cust_po_number_req_yn = OKC_API.G_MISS_CHAR)
6295 THEN
6296 x_chr_rec.cust_po_number_req_yn := l_chr_rec.cust_po_number_req_yn;
6297 END IF;
6298 IF (x_chr_rec.pre_pay_req_yn = OKC_API.G_MISS_CHAR)
6299 THEN
6300 x_chr_rec.pre_pay_req_yn := l_chr_rec.pre_pay_req_yn;
6301 END IF;
6302 IF (x_chr_rec.cust_po_number = OKC_API.G_MISS_CHAR)
6303 THEN
6304 x_chr_rec.cust_po_number := l_chr_rec.cust_po_number;
6305 END IF;
6306 IF (x_chr_rec.dpas_rating = OKC_API.G_MISS_CHAR)
6307 THEN
6308 x_chr_rec.dpas_rating := l_chr_rec.dpas_rating;
6309 END IF;
6310 IF (x_chr_rec.template_used = OKC_API.G_MISS_CHAR)
6311 THEN
6312 x_chr_rec.template_used := l_chr_rec.template_used;
6313 END IF;
6314 IF (x_chr_rec.date_approved = OKC_API.G_MISS_DATE)
6315 THEN
6316 x_chr_rec.date_approved := l_chr_rec.date_approved;
6317 END IF;
6318 IF (x_chr_rec.datetime_cancelled = OKC_API.G_MISS_DATE)
6319 THEN
6320 x_chr_rec.datetime_cancelled := l_chr_rec.datetime_cancelled;
6321 END IF;
6322 IF (x_chr_rec.auto_renew_days = OKC_API.G_MISS_NUM)
6323 THEN
6324 x_chr_rec.auto_renew_days := l_chr_rec.auto_renew_days;
6325 END IF;
6326 IF (x_chr_rec.date_issued = OKC_API.G_MISS_DATE)
6327 THEN
6328 x_chr_rec.date_issued := l_chr_rec.date_issued;
6329 END IF;
6330 IF (x_chr_rec.datetime_responded = OKC_API.G_MISS_DATE)
6331 THEN
6332 x_chr_rec.datetime_responded := l_chr_rec.datetime_responded;
6333 END IF;
6334 IF (x_chr_rec.rfp_type = OKC_API.G_MISS_CHAR)
6335 THEN
6336 x_chr_rec.rfp_type := l_chr_rec.rfp_type;
6337 END IF;
6338 IF (x_chr_rec.keep_on_mail_list = OKC_API.G_MISS_CHAR)
6339 THEN
6340 x_chr_rec.keep_on_mail_list := l_chr_rec.keep_on_mail_list;
6341 END IF;
6342 IF (x_chr_rec.set_aside_percent = OKC_API.G_MISS_NUM)
6343 THEN
6344 x_chr_rec.set_aside_percent := l_chr_rec.set_aside_percent;
6345 END IF;
6346 IF (x_chr_rec.response_copies_req = OKC_API.G_MISS_NUM)
6347 THEN
6348 x_chr_rec.response_copies_req := l_chr_rec.response_copies_req;
6349 END IF;
6350 IF (x_chr_rec.date_close_projected = OKC_API.G_MISS_DATE)
6351 THEN
6352 x_chr_rec.date_close_projected := l_chr_rec.date_close_projected;
6353 END IF;
6354 IF (x_chr_rec.datetime_proposed = OKC_API.G_MISS_DATE)
6355 THEN
6356 x_chr_rec.datetime_proposed := l_chr_rec.datetime_proposed;
6357 END IF;
6358 IF (x_chr_rec.date_signed = OKC_API.G_MISS_DATE)
6359 THEN
6360 x_chr_rec.date_signed := l_chr_rec.date_signed;
6361 END IF;
6362 IF (x_chr_rec.date_terminated = OKC_API.G_MISS_DATE)
6363 THEN
6364 x_chr_rec.date_terminated := l_chr_rec.date_terminated;
6365 END IF;
6366 IF (x_chr_rec.date_renewed = OKC_API.G_MISS_DATE)
6367 THEN
6368 x_chr_rec.date_renewed := l_chr_rec.date_renewed;
6369 END IF;
6370 IF (x_chr_rec.start_date = OKC_API.G_MISS_DATE)
6371 THEN
6372 x_chr_rec.start_date := l_chr_rec.start_date;
6373 END IF;
6374 IF (x_chr_rec.end_date = OKC_API.G_MISS_DATE)
6375 THEN
6376 x_chr_rec.end_date := l_chr_rec.end_date;
6377 END IF;
6378 IF (x_chr_rec.buy_or_sell = OKC_API.G_MISS_CHAR)
6379 THEN
6380 x_chr_rec.buy_or_sell := l_chr_rec.buy_or_sell;
6381 END IF;
6382 IF (x_chr_rec.issue_or_receive = OKC_API.G_MISS_CHAR)
6383 THEN
6384 x_chr_rec.issue_or_receive := l_chr_rec.issue_or_receive;
6385 END IF;
6386 IF (x_chr_rec.estimated_amount = OKC_API.G_MISS_NUM)
6387 THEN
6388 x_chr_rec.estimated_amount := l_chr_rec.estimated_amount;
6389 END IF;
6390 IF (x_chr_rec.estimated_amount_renewed = OKC_API.G_MISS_NUM)
6391 THEN
6392 x_chr_rec.estimated_amount_renewed := l_chr_rec.estimated_amount_renewed;
6393 END IF;
6394 IF (x_chr_rec.currency_code_renewed = OKC_API.G_MISS_CHAR)
6395 THEN
6396 x_chr_rec.currency_code_renewed := l_chr_rec.currency_code_renewed;
6397 END IF;
6398 IF (x_chr_rec.last_update_login = OKC_API.G_MISS_NUM)
6399 THEN
6400 x_chr_rec.last_update_login := l_chr_rec.last_update_login;
6401 END IF;
6402 IF (x_chr_rec.upg_orig_system_ref = OKC_API.G_MISS_CHAR)
6403 THEN
6404 x_chr_rec.upg_orig_system_ref := l_chr_rec.upg_orig_system_ref;
6405 END IF;
6406 IF (x_chr_rec.upg_orig_system_ref_id = OKC_API.G_MISS_NUM)
6407 THEN
6408 x_chr_rec.upg_orig_system_ref_id := l_chr_rec.upg_orig_system_ref_id;
6409 END IF;
6410 IF (x_chr_rec.application_id = OKC_API.G_MISS_NUM)
6411 THEN
6412 x_chr_rec.application_id := l_chr_rec.application_id;
6413 END IF;
6414 IF (x_chr_rec.orig_system_source_code = OKC_API.G_MISS_CHAR )
6415 THEN
6416 x_chr_rec.orig_system_source_code := l_chr_rec.orig_system_source_code ;
6417 END IF;
6418 IF (x_chr_rec.orig_system_id1 = OKC_API.G_MISS_NUM )
6419 THEN
6420 x_chr_rec.orig_system_id1 := l_chr_rec.orig_system_id1 ;
6421 END IF ;
6422 IF (x_chr_rec.orig_system_reference1 = OKC_API.G_MISS_CHAR )
6423 THEN
6424 x_chr_rec.orig_system_reference1 := l_chr_rec.orig_system_reference1 ;
6425 END IF;
6426 IF (x_chr_rec.program_id = OKC_API.G_MISS_NUM)
6427 THEN
6428 x_chr_rec.program_id := l_chr_rec.program_id;
6429 END IF;
6430 IF (x_chr_rec.request_id = OKC_API.G_MISS_NUM)
6431 THEN
6432 x_chr_rec.request_id := l_chr_rec.request_id;
6433 END IF;
6434 IF (x_chr_rec.program_update_date = OKC_API.G_MISS_DATE)
6435 THEN
6436 x_chr_rec.program_update_date := l_chr_rec.program_update_date;
6437 END IF;
6438 IF (x_chr_rec.program_application_id = OKC_API.G_MISS_NUM)
6439 THEN
6440 x_chr_rec.program_application_id := l_chr_rec.program_application_id;
6441 END IF;
6442 IF (x_chr_rec.price_list_id = OKC_API.G_MISS_NUM)
6443 THEN
6444 x_chr_rec.price_list_id := l_chr_rec.price_list_id;
6445 END IF;
6446 IF (x_chr_rec.pricing_date = OKC_API.G_MISS_DATE)
6447 THEN
6448 x_chr_rec.pricing_date := l_chr_rec.pricing_date ;
6449 END IF;
6450 IF (x_chr_rec.sign_by_date = OKC_API.G_MISS_DATE)
6451 THEN
6452 x_chr_rec.sign_by_date := l_chr_rec.sign_by_date;
6453 END IF;
6454 IF (x_chr_rec.total_line_list_price = OKC_API.G_MISS_NUM)
6455 THEN
6456 x_chr_rec.total_line_list_price := l_chr_rec.total_line_list_price;
6457 END IF;
6458 IF (x_chr_rec.user_estimated_amount = OKC_API.G_MISS_NUM) THEN
6459 x_chr_rec.user_estimated_amount := l_chr_rec.user_estimated_amount;
6460 END IF;
6461
6462 IF (x_chr_rec.governing_contract_yn = OKC_API.G_MISS_CHAR) THEN
6463 x_chr_rec.governing_contract_yn := l_chr_rec.governing_contract_yn;
6464 END IF;
6465 IF (x_chr_rec.attribute_category = OKC_API.G_MISS_CHAR)
6466 THEN
6467 x_chr_rec.attribute_category := l_chr_rec.attribute_category;
6468 END IF;
6469 IF (x_chr_rec.attribute1 = OKC_API.G_MISS_CHAR)
6470 THEN
6471 x_chr_rec.attribute1 := l_chr_rec.attribute1;
6472 END IF;
6473 IF (x_chr_rec.attribute2 = OKC_API.G_MISS_CHAR)
6474 THEN
6475 x_chr_rec.attribute2 := l_chr_rec.attribute2;
6476 END IF;
6477 IF (x_chr_rec.attribute3 = OKC_API.G_MISS_CHAR)
6478 THEN
6479 x_chr_rec.attribute3 := l_chr_rec.attribute3;
6480 END IF;
6481 IF (x_chr_rec.attribute4 = OKC_API.G_MISS_CHAR)
6482 THEN
6483 x_chr_rec.attribute4 := l_chr_rec.attribute4;
6484 END IF;
6485 IF (x_chr_rec.attribute5 = OKC_API.G_MISS_CHAR)
6486 THEN
6487 x_chr_rec.attribute5 := l_chr_rec.attribute5;
6488 END IF;
6489 IF (x_chr_rec.attribute6 = OKC_API.G_MISS_CHAR)
6490 THEN
6491 x_chr_rec.attribute6 := l_chr_rec.attribute6;
6492 END IF;
6493 IF (x_chr_rec.attribute7 = OKC_API.G_MISS_CHAR)
6494 THEN
6495 x_chr_rec.attribute7 := l_chr_rec.attribute7;
6496 END IF;
6497 IF (x_chr_rec.attribute8 = OKC_API.G_MISS_CHAR)
6498 THEN
6499 x_chr_rec.attribute8 := l_chr_rec.attribute8;
6500 END IF;
6501 IF (x_chr_rec.attribute9 = OKC_API.G_MISS_CHAR)
6502 THEN
6503 x_chr_rec.attribute9 := l_chr_rec.attribute9;
6504 END IF;
6505 IF (x_chr_rec.attribute10 = OKC_API.G_MISS_CHAR)
6506 THEN
6507 x_chr_rec.attribute10 := l_chr_rec.attribute10;
6508 END IF;
6509 IF (x_chr_rec.attribute11 = OKC_API.G_MISS_CHAR)
6510 THEN
6511 x_chr_rec.attribute11 := l_chr_rec.attribute11;
6512 END IF;
6513 IF (x_chr_rec.attribute12 = OKC_API.G_MISS_CHAR)
6514 THEN
6515 x_chr_rec.attribute12 := l_chr_rec.attribute12;
6516 END IF;
6517 IF (x_chr_rec.attribute13 = OKC_API.G_MISS_CHAR)
6518 THEN
6519 x_chr_rec.attribute13 := l_chr_rec.attribute13;
6520 END IF;
6521 IF (x_chr_rec.attribute14 = OKC_API.G_MISS_CHAR)
6522 THEN
6523 x_chr_rec.attribute14 := l_chr_rec.attribute14;
6524 END IF;
6525 IF (x_chr_rec.attribute15 = OKC_API.G_MISS_CHAR)
6526 THEN
6527 x_chr_rec.attribute15 := l_chr_rec.attribute15;
6528 END IF;
6529 -- new columns to replace rules
6530 IF (x_chr_rec.conversion_type = OKC_API.G_MISS_CHAR) THEN
6531 x_chr_rec.conversion_type := l_chr_rec.conversion_type;
6532 END IF;
6533 IF (x_chr_rec.conversion_rate = OKC_API.G_MISS_NUM) THEN
6534 x_chr_rec.conversion_rate := l_chr_rec.conversion_rate;
6535 END IF;
6536 IF (x_chr_rec.conversion_rate_date = OKC_API.G_MISS_DATE) THEN
6537 x_chr_rec.conversion_rate_date := l_chr_rec.conversion_rate_date;
6538 END IF;
6539 IF (x_chr_rec.conversion_euro_rate = OKC_API.G_MISS_NUM) THEN
6540 x_chr_rec.conversion_euro_rate := l_chr_rec.conversion_euro_rate;
6541 END IF;
6542 IF (x_chr_rec.cust_acct_id = OKC_API.G_MISS_NUM) THEN
6543 x_chr_rec.cust_acct_id := l_chr_rec.cust_acct_id;
6544 END IF;
6545 IF (x_chr_rec.bill_to_site_use_id = OKC_API.G_MISS_NUM) THEN
6546 x_chr_rec.bill_to_site_use_id := l_chr_rec.bill_to_site_use_id;
6547 END IF;
6548 IF (x_chr_rec.inv_rule_id = OKC_API.G_MISS_NUM) THEN
6549 x_chr_rec.inv_rule_id := l_chr_rec.inv_rule_id;
6550 END IF;
6551 IF (x_chr_rec.renewal_type_code = OKC_API.G_MISS_CHAR) THEN
6552 x_chr_rec.renewal_type_code := l_chr_rec.renewal_type_code;
6553 END IF;
6554 IF (x_chr_rec.renewal_notify_to = OKC_API.G_MISS_NUM) THEN
6555 x_chr_rec.renewal_notify_to := l_chr_rec.renewal_notify_to;
6556 END IF;
6557 IF (x_chr_rec.renewal_end_date = OKC_API.G_MISS_DATE) THEN
6558 x_chr_rec.renewal_end_date := l_chr_rec.renewal_end_date;
6559 END IF;
6560 IF (x_chr_rec.ship_to_site_use_id = OKC_API.G_MISS_NUM) THEN
6561 x_chr_rec.ship_to_site_use_id := l_chr_rec.ship_to_site_use_id;
6562 END IF;
6563 IF (x_chr_rec.payment_term_id = OKC_API.G_MISS_NUM) THEN
6564 x_chr_rec.payment_term_id := l_chr_rec.payment_term_id;
6565 END IF;
6566
6567 -- R12 Data Model Changes 4485150 Start
6568 IF (x_chr_rec.approval_type = OKC_API.G_MISS_CHAR) THEN
6569 x_chr_rec.approval_type := l_chr_rec.approval_type;
6570 END IF;
6571 IF (x_chr_rec.term_cancel_source = OKC_API.G_MISS_CHAR) THEN
6572 x_chr_rec.term_cancel_source := l_chr_rec.term_cancel_source;
6573 END IF;
6574 IF (x_chr_rec.payment_instruction_type = OKC_API.G_MISS_CHAR) THEN
6575 x_chr_rec.payment_instruction_type := l_chr_rec.payment_instruction_type;
6576 END IF;
6577 -- LLC
6578 IF (x_chr_rec.cancelled_amount = OKC_API.G_MISS_NUM) THEN
6579 x_chr_rec.cancelled_amount := l_chr_rec.cancelled_amount;
6580 END IF;
6581 -- R12 Data Model Changes 4485150 End
6582 RETURN(l_return_status);
6583
6584 END populate_new_record;
6585 ----------------------------------------
6586 -- Set_Attributes for:OKC_K_HEADERS_ALL_B --
6587 ----------------------------------------
6588 FUNCTION Set_Attributes (
6589 p_chr_rec IN chr_rec_type,
6590 x_chr_rec OUT NOCOPY chr_rec_type
6591 ) RETURN VARCHAR2 IS
6592 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6593 BEGIN
6594
6595 IF (l_debug = 'Y') THEN
6596 okc_debug.Set_Indentation('OKC_CHR_PVT');
6597 okc_debug.LOG('18700: Entered Set_Attributes', 2);
6598 END IF;
6599
6600 x_chr_rec := p_chr_rec;
6601 RETURN(l_return_status);
6602
6603 END Set_Attributes;
6604 BEGIN
6605
6606 IF (l_debug = 'Y') THEN
6607 okc_debug.Set_Indentation('OKC_CHR_PVT');
6608 okc_debug.LOG('18800: Entered update_row', 2);
6609 END IF;
6610
6611 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6612 p_init_msg_list,
6613 '_PVT',
6614 x_return_status);
6615 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6616 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6617 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6618 RAISE OKC_API.G_EXCEPTION_ERROR;
6619 END IF;
6620 --- Setting item attributes
6621 l_return_status := Set_Attributes(
6622 p_chr_rec, -- IN
6623 l_chr_rec); -- OUT
6624 --- If any errors happen abort API
6625 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6626 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6627 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6628 RAISE OKC_API.G_EXCEPTION_ERROR;
6629 END IF;
6630 l_return_status := populate_new_record(l_chr_rec, l_def_chr_rec);
6631 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6632 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6633 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6634 RAISE OKC_API.G_EXCEPTION_ERROR;
6635 END IF;
6636
6637 UPDATE OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
6638 SET CONTRACT_NUMBER = l_def_chr_rec.contract_number,
6639 --AUTHORING_ORG_ID = l_def_chr_rec.authoring_org_id,
6640 CONTRACT_NUMBER_MODIFIER = l_def_chr_rec.contract_number_modifier,
6641 CHR_ID_RESPONSE = l_def_chr_rec.chr_id_response,
6642 CHR_ID_AWARD = l_def_chr_rec.chr_id_award,
6643 --INV_ORGANIZATION_ID = l_def_chr_rec.INV_ORGANIZATION_ID,
6644 STS_CODE = l_def_chr_rec.sts_code,
6645 QCL_ID = l_def_chr_rec.qcl_id,
6646 --SCS_CODE = l_def_chr_rec.scs_code,
6647 TRN_CODE = l_def_chr_rec.trn_code,
6648 CURRENCY_CODE = l_def_chr_rec.currency_code,
6649 ARCHIVED_YN = l_def_chr_rec.archived_yn,
6650 DELETED_YN = l_def_chr_rec.deleted_yn,
6651 TEMPLATE_YN = l_def_chr_rec.template_yn,
6652 --CHR_TYPE = l_def_chr_rec.chr_type,
6653 OBJECT_VERSION_NUMBER = l_def_chr_rec.object_version_number,
6654 --CREATED_BY = l_def_chr_rec.created_by,
6655 --CREATION_DATE = l_def_chr_rec.creation_date,
6656 LAST_UPDATED_BY = l_def_chr_rec.last_updated_by,
6657 LAST_UPDATE_DATE = l_def_chr_rec.last_update_date,
6658 CUST_PO_NUMBER_REQ_YN = l_def_chr_rec.cust_po_number_req_yn,
6659 PRE_PAY_REQ_YN = l_def_chr_rec.pre_pay_req_yn,
6660 CUST_PO_NUMBER = l_def_chr_rec.cust_po_number,
6661 DPAS_RATING = l_def_chr_rec.dpas_rating,
6662 TEMPLATE_USED = l_def_chr_rec.template_used,
6663 DATE_APPROVED = l_def_chr_rec.date_approved,
6664 DATETIME_CANCELLED = l_def_chr_rec.datetime_cancelled,
6665 AUTO_RENEW_DAYS = l_def_chr_rec.auto_renew_days,
6666 DATE_ISSUED = l_def_chr_rec.date_issued,
6667 DATETIME_RESPONDED = l_def_chr_rec.datetime_responded,
6668 RFP_TYPE = l_def_chr_rec.rfp_type,
6669 KEEP_ON_MAIL_LIST = l_def_chr_rec.keep_on_mail_list,
6670 SET_ASIDE_PERCENT = l_def_chr_rec.set_aside_percent,
6671 RESPONSE_COPIES_REQ = l_def_chr_rec.response_copies_req,
6672 DATE_CLOSE_PROJECTED = l_def_chr_rec.date_close_projected,
6673 DATETIME_PROPOSED = l_def_chr_rec.datetime_proposed,
6674 DATE_SIGNED = l_def_chr_rec.date_signed,
6675 DATE_TERMINATED = l_def_chr_rec.date_terminated,
6676 DATE_RENEWED = l_def_chr_rec.date_renewed,
6677 START_DATE = l_def_chr_rec.start_date,
6678 END_DATE = l_def_chr_rec.end_date,
6679 BUY_OR_SELL = l_def_chr_rec.buy_or_sell,
6680 ISSUE_OR_RECEIVE = l_def_chr_rec.issue_or_receive,
6681 ESTIMATED_AMOUNT = l_def_chr_rec.estimated_amount,
6682 ESTIMATED_AMOUNT_RENEWED = l_def_chr_rec.estimated_amount_renewed,
6683 CURRENCY_CODE_RENEWED = l_def_chr_rec.currency_code_renewed,
6684 LAST_UPDATE_LOGIN = l_def_chr_rec.last_update_login,
6685 UPG_ORIG_SYSTEM_REF = l_def_chr_rec.upg_orig_system_ref,
6686 UPG_ORIG_SYSTEM_REF_ID = l_def_chr_rec.upg_orig_system_ref_id,
6687 --------APPLICATION_ID = l_def_chr_rec.application_id,
6688 ORIG_SYSTEM_SOURCE_CODE = l_def_chr_rec.orig_system_source_code,
6689 ORIG_SYSTEM_ID1 = l_def_chr_rec.orig_system_id1,
6690 ORIG_SYSTEM_REFERENCE1 = l_def_chr_rec.orig_system_reference1,
6691 PROGRAM_ID = NVL(decode(FND_GLOBAL.CONC_PROGRAM_ID, - 1, NULL, FND_GLOBAL.CONC_PROGRAM_ID), l_def_chr_rec.program_id),
6692 REQUEST_ID = NVL(decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, FND_GLOBAL.CONC_REQUEST_ID), l_def_chr_rec.request_id),
6693 PROGRAM_UPDATE_DATE = decode(decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, SYSDATE), NULL, l_def_chr_rec.program_update_date, SYSDATE),
6694 PROGRAM_APPLICATION_ID = NVL(decode(FND_GLOBAL.PROG_APPL_ID, - 1, NULL, FND_GLOBAL.PROG_APPL_ID), l_def_chr_rec.program_application_id),
6695 PRICE_LIST_ID = l_def_chr_rec.price_list_id,
6696 PRICING_DATE = l_def_chr_rec.pricing_date,
6697 SIGN_BY_DATE = l_def_chr_rec.sign_by_date,
6698 TOTAL_LINE_LIST_PRICE = l_def_chr_rec.total_line_list_price,
6699 USER_ESTIMATED_AMOUNT = l_def_chr_rec.user_estimated_amount,
6700 GOVERNING_CONTRACT_YN = l_def_chr_rec.governing_contract_yn,
6701 ATTRIBUTE_CATEGORY = l_def_chr_rec.attribute_category,
6702 ATTRIBUTE1 = l_def_chr_rec.attribute1,
6703 ATTRIBUTE2 = l_def_chr_rec.attribute2,
6704 ATTRIBUTE3 = l_def_chr_rec.attribute3,
6705 ATTRIBUTE4 = l_def_chr_rec.attribute4,
6706 ATTRIBUTE5 = l_def_chr_rec.attribute5,
6707 ATTRIBUTE6 = l_def_chr_rec.attribute6,
6708 ATTRIBUTE7 = l_def_chr_rec.attribute7,
6709 ATTRIBUTE8 = l_def_chr_rec.attribute8,
6710 ATTRIBUTE9 = l_def_chr_rec.attribute9,
6711 ATTRIBUTE10 = l_def_chr_rec.attribute10,
6712 ATTRIBUTE11 = l_def_chr_rec.attribute11,
6713 ATTRIBUTE12 = l_def_chr_rec.attribute12,
6714 ATTRIBUTE13 = l_def_chr_rec.attribute13,
6715 ATTRIBUTE14 = l_def_chr_rec.attribute14,
6716 ATTRIBUTE15 = l_def_chr_rec.attribute15,
6717 --new columns to replace rules
6718 conversion_type = l_def_chr_rec. conversion_type,
6719 conversion_rate = l_def_chr_rec. conversion_rate,
6720 conversion_rate_date = l_def_chr_rec. conversion_rate_date,
6721 conversion_euro_rate = l_def_chr_rec. conversion_euro_rate,
6722 cust_acct_id = l_def_chr_rec.cust_acct_id,
6723 bill_to_site_use_id = l_def_chr_rec.bill_to_site_use_id,
6724 inv_rule_id = l_def_chr_rec.inv_rule_id,
6725 renewal_type_code = l_def_chr_rec.renewal_type_code,
6726 renewal_notify_to = l_def_chr_rec.renewal_notify_to,
6727 renewal_end_date = l_def_chr_rec.renewal_end_date,
6728 ship_to_site_use_id = l_def_chr_rec.ship_to_site_use_id,
6729 payment_term_id = l_def_chr_rec.payment_term_id,
6730 -- R12 Data Model Changes 4485150 End
6731 approval_type = l_def_chr_rec.approval_type,
6732 term_cancel_source = l_def_chr_rec.term_cancel_source,
6733 payment_instruction_type = l_def_chr_rec.payment_instruction_type,
6734 cancelled_amount = l_def_chr_rec.cancelled_amount -- LLC
6735 -- R12 Data Model Changes 4485150 End
6736 WHERE ID = l_def_chr_rec.id;
6737
6738 x_chr_rec := l_def_chr_rec;
6739 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6740 IF (l_debug = 'Y') THEN
6741 okc_debug.LOG('18900: Exiting update_row', 2);
6742 okc_debug.Reset_Indentation;
6743 END IF;
6744
6745
6746 EXCEPTION
6747 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6748
6749 IF (l_debug = 'Y') THEN
6750 okc_debug.LOG('19000: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6751 okc_debug.Reset_Indentation;
6752 END IF;
6753
6754 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6755 (
6756 l_api_name,
6757 G_PKG_NAME,
6758 'OKC_API.G_RET_STS_ERROR',
6759 x_msg_count,
6760 x_msg_data,
6761 '_PVT'
6762 );
6763 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6764
6765 IF (l_debug = 'Y') THEN
6766 okc_debug.LOG('19100: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
6767 okc_debug.Reset_Indentation;
6768 END IF;
6769
6770 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6771 (
6772 l_api_name,
6773 G_PKG_NAME,
6774 'OKC_API.G_RET_STS_UNEXP_ERROR',
6775 x_msg_count,
6776 x_msg_data,
6777 '_PVT'
6778 );
6779 WHEN OTHERS THEN
6780
6781 IF (l_debug = 'Y') THEN
6782 okc_debug.LOG('19200: Exiting update_row:OTHERS Exception', 2);
6783 okc_debug.Reset_Indentation;
6784 END IF;
6785
6786 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6787 (
6788 l_api_name,
6789 G_PKG_NAME,
6790 'OTHERS',
6791 x_msg_count,
6792 x_msg_data,
6793 '_PVT'
6794 );
6795
6796 END update_row;
6797 -------------------------------------
6798 -- update_row for:OKC_K_HEADERS_TL --
6799 -------------------------------------
6800 PROCEDURE update_row(
6801 p_init_msg_list IN VARCHAR2,
6802 x_return_status OUT NOCOPY VARCHAR2,
6803 x_msg_count OUT NOCOPY NUMBER,
6804 x_msg_data OUT NOCOPY VARCHAR2,
6805 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
6806 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type) IS
6807
6808 l_api_version CONSTANT NUMBER := 1;
6809 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
6810 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6811 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type := p_okc_k_headers_tl_rec;
6812 l_def_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
6813 l_row_notfound BOOLEAN := TRUE;
6814 ----------------------------------
6815 -- FUNCTION populate_new_record --
6816 ----------------------------------
6817 FUNCTION populate_new_record (
6818 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
6819 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
6820 ) RETURN VARCHAR2 IS
6821 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
6822 l_row_notfound BOOLEAN := TRUE;
6823 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6824 BEGIN
6825
6826 IF (l_debug = 'Y') THEN
6827 okc_debug.Set_Indentation('OKC_CHR_PVT');
6828 okc_debug.LOG('19300: Entered populate_new_record', 2);
6829 END IF;
6830
6831 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
6832 -- Get current database values
6833 l_okc_k_headers_tl_rec := get_rec(p_okc_k_headers_tl_rec, l_row_notfound);
6834 IF (l_row_notfound) THEN
6835 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6836 END IF;
6837 IF (x_okc_k_headers_tl_rec.id = OKC_API.G_MISS_NUM)
6838 THEN
6839 x_okc_k_headers_tl_rec.id := l_okc_k_headers_tl_rec.id;
6840 END IF;
6841 IF (x_okc_k_headers_tl_rec.language = OKC_API.G_MISS_CHAR)
6842 THEN
6843 x_okc_k_headers_tl_rec.language := l_okc_k_headers_tl_rec.language;
6844 END IF;
6845 IF (x_okc_k_headers_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
6846 THEN
6847 x_okc_k_headers_tl_rec.source_lang := l_okc_k_headers_tl_rec.source_lang;
6848 END IF;
6849 IF (x_okc_k_headers_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
6850 THEN
6851 x_okc_k_headers_tl_rec.sfwt_flag := l_okc_k_headers_tl_rec.sfwt_flag;
6852 END IF;
6853 IF (x_okc_k_headers_tl_rec.short_description = OKC_API.G_MISS_CHAR)
6854 THEN
6855 x_okc_k_headers_tl_rec.short_description := l_okc_k_headers_tl_rec.short_description;
6856 END IF;
6857 IF (x_okc_k_headers_tl_rec.comments = OKC_API.G_MISS_CHAR)
6858 THEN
6859 x_okc_k_headers_tl_rec.comments := l_okc_k_headers_tl_rec.comments;
6860 END IF;
6861 IF (x_okc_k_headers_tl_rec.description = OKC_API.G_MISS_CHAR)
6862 THEN
6863 x_okc_k_headers_tl_rec.description := l_okc_k_headers_tl_rec.description;
6864 END IF;
6865 IF (x_okc_k_headers_tl_rec.cognomen = OKC_API.G_MISS_CHAR)
6866 THEN
6867 x_okc_k_headers_tl_rec.cognomen := l_okc_k_headers_tl_rec.cognomen;
6868 END IF;
6869 IF (x_okc_k_headers_tl_rec.non_response_reason = OKC_API.G_MISS_CHAR)
6870 THEN
6871 x_okc_k_headers_tl_rec.non_response_reason := l_okc_k_headers_tl_rec.non_response_reason;
6872 END IF;
6873 IF (x_okc_k_headers_tl_rec.non_response_explain = OKC_API.G_MISS_CHAR)
6874 THEN
6875 x_okc_k_headers_tl_rec.non_response_explain := l_okc_k_headers_tl_rec.non_response_explain;
6876 END IF;
6877 IF (x_okc_k_headers_tl_rec.set_aside_reason = OKC_API.G_MISS_CHAR)
6878 THEN
6879 x_okc_k_headers_tl_rec.set_aside_reason := l_okc_k_headers_tl_rec.set_aside_reason;
6880 END IF;
6881 IF (x_okc_k_headers_tl_rec.created_by = OKC_API.G_MISS_NUM)
6882 THEN
6883 x_okc_k_headers_tl_rec.created_by := l_okc_k_headers_tl_rec.created_by;
6884 END IF;
6885 IF (x_okc_k_headers_tl_rec.creation_date = OKC_API.G_MISS_DATE)
6886 THEN
6887 x_okc_k_headers_tl_rec.creation_date := l_okc_k_headers_tl_rec.creation_date;
6888 END IF;
6889 IF (x_okc_k_headers_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
6890 THEN
6891 x_okc_k_headers_tl_rec.last_updated_by := l_okc_k_headers_tl_rec.last_updated_by;
6892 END IF;
6893 IF (x_okc_k_headers_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
6894 THEN
6895 x_okc_k_headers_tl_rec.last_update_date := l_okc_k_headers_tl_rec.last_update_date;
6896 END IF;
6897 IF (x_okc_k_headers_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
6898 THEN
6899 x_okc_k_headers_tl_rec.last_update_login := l_okc_k_headers_tl_rec.last_update_login;
6900 END IF;
6901 RETURN(l_return_status);
6902
6903 END populate_new_record;
6904 -----------------------------------------
6905 -- Set_Attributes for:OKC_K_HEADERS_TL --
6906 -----------------------------------------
6907 FUNCTION Set_Attributes (
6908 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
6909 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
6910 ) RETURN VARCHAR2 IS
6911 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6912 BEGIN
6913
6914 IF (l_debug = 'Y') THEN
6915 okc_debug.Set_Indentation('OKC_CHR_PVT');
6916 okc_debug.LOG('19400: Entered Set_Attributes', 2);
6917 END IF;
6918
6919 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
6920 x_okc_k_headers_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
6921 x_okc_k_headers_tl_rec.SOURCE_LANG := okc_util.get_userenv_lang;
6922 RETURN(l_return_status);
6923
6924 END Set_Attributes;
6925 BEGIN
6926
6927 IF (l_debug = 'Y') THEN
6928 okc_debug.Set_Indentation('OKC_CHR_PVT');
6929 okc_debug.LOG('19500: Entered update_row', 2);
6930 END IF;
6931
6932 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6933 p_init_msg_list,
6934 '_PVT',
6935 x_return_status);
6936 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6937 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6938 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6939 RAISE OKC_API.G_EXCEPTION_ERROR;
6940 END IF;
6941 --- Setting item attributes
6942 l_return_status := Set_Attributes(
6943 p_okc_k_headers_tl_rec, -- IN
6944 l_okc_k_headers_tl_rec); -- OUT
6945 --- If any errors happen abort API
6946 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6947 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6948 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6949 RAISE OKC_API.G_EXCEPTION_ERROR;
6950 END IF;
6951 l_return_status := populate_new_record(l_okc_k_headers_tl_rec, l_def_okc_k_headers_tl_rec);
6952 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6953 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6954 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6955 RAISE OKC_API.G_EXCEPTION_ERROR;
6956 END IF;
6957 UPDATE OKC_K_HEADERS_TL
6958 SET SHORT_DESCRIPTION = l_def_okc_k_headers_tl_rec.short_description,
6959 COMMENTS = l_def_okc_k_headers_tl_rec.comments,
6960 DESCRIPTION = l_def_okc_k_headers_tl_rec.description,
6961 COGNOMEN = l_def_okc_k_headers_tl_rec.cognomen,
6962 NON_RESPONSE_REASON = l_def_okc_k_headers_tl_rec.non_response_reason,
6963 NON_RESPONSE_EXPLAIN = l_def_okc_k_headers_tl_rec.non_response_explain,
6964 SET_ASIDE_REASON = l_def_okc_k_headers_tl_rec.set_aside_reason,
6965 SOURCE_LANG = l_def_okc_k_headers_tl_rec.source_lang,
6966 --CREATED_BY = l_def_okc_k_headers_tl_rec.created_by,
6967 --CREATION_DATE = l_def_okc_k_headers_tl_rec.creation_date,
6968 LAST_UPDATED_BY = l_def_okc_k_headers_tl_rec.last_updated_by,
6969 LAST_UPDATE_DATE = l_def_okc_k_headers_tl_rec.last_update_date,
6970 LAST_UPDATE_LOGIN = l_def_okc_k_headers_tl_rec.last_update_login
6971 WHERE ID = l_def_okc_k_headers_tl_rec.id
6972 AND USERENV('LANG') IN (SOURCE_LANG, LANGUAGE);
6973
6974 UPDATE OKC_K_HEADERS_TL
6975 SET SFWT_FLAG = 'Y'
6976 WHERE ID = l_def_okc_k_headers_tl_rec.id
6977 AND SOURCE_LANG <> USERENV('LANG');
6978
6979 x_okc_k_headers_tl_rec := l_def_okc_k_headers_tl_rec;
6980 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6981 IF (l_debug = 'Y') THEN
6982 okc_debug.LOG('19600: Exiting update_row', 2);
6983 okc_debug.Reset_Indentation;
6984 END IF;
6985
6986
6987 EXCEPTION
6988 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6989
6990 IF (l_debug = 'Y') THEN
6991 okc_debug.LOG('19700: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6992 okc_debug.Reset_Indentation;
6993 END IF;
6994
6995 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6996 (
6997 l_api_name,
6998 G_PKG_NAME,
6999 'OKC_API.G_RET_STS_ERROR',
7000 x_msg_count,
7001 x_msg_data,
7002 '_PVT'
7003 );
7004 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7005
7006 IF (l_debug = 'Y') THEN
7007 okc_debug.LOG('19800: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
7008 okc_debug.Reset_Indentation;
7009 END IF;
7010
7011 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7012 (
7013 l_api_name,
7014 G_PKG_NAME,
7015 'OKC_API.G_RET_STS_UNEXP_ERROR',
7016 x_msg_count,
7017 x_msg_data,
7018 '_PVT'
7019 );
7020 WHEN OTHERS THEN
7021
7022 IF (l_debug = 'Y') THEN
7023 okc_debug.LOG('19900: Exiting update_row:OTHERS Exception', 2);
7024 okc_debug.Reset_Indentation;
7025 END IF;
7026
7027 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7028 (
7029 l_api_name,
7030 G_PKG_NAME,
7031 'OTHERS',
7032 x_msg_count,
7033 x_msg_data,
7034 '_PVT'
7035 );
7036
7037 END update_row;
7038 ------------------------------------
7039 -- update_row for:OKC_K_HEADERS_V --
7040 ------------------------------------
7041 PROCEDURE update_row(
7042 p_api_version IN NUMBER,
7043 p_init_msg_list IN VARCHAR2,
7044 x_return_status OUT NOCOPY VARCHAR2,
7045 x_msg_count OUT NOCOPY NUMBER,
7046 x_msg_data OUT NOCOPY VARCHAR2,
7047 p_restricted_update IN VARCHAR2,
7048 p_chrv_rec IN chrv_rec_type,
7049 x_chrv_rec OUT NOCOPY chrv_rec_type) IS
7050
7051 l_api_version CONSTANT NUMBER := 1;
7052 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
7053 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7054 l_chrv_rec chrv_rec_type := p_chrv_rec;
7055 l_def_chrv_rec chrv_rec_type;
7056 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
7057 lx_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
7058 l_chr_rec chr_rec_type;
7059 lx_chr_rec chr_rec_type;
7060 -------------------------------
7061 -- FUNCTION fill_who_columns --
7062 -------------------------------
7063 FUNCTION fill_who_columns (
7064 p_chrv_rec IN chrv_rec_type
7065 ) RETURN chrv_rec_type IS
7066 l_chrv_rec chrv_rec_type := p_chrv_rec;
7067 BEGIN
7068
7069 IF (l_debug = 'Y') THEN
7070 okc_debug.Set_Indentation('OKC_CHR_PVT');
7071 okc_debug.LOG('20000: Entered fill_who_columns', 2);
7072 END IF;
7073
7074 l_chrv_rec.LAST_UPDATE_DATE := SYSDATE;
7075 l_chrv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
7076 l_chrv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
7077 RETURN(l_chrv_rec);
7078
7079 END fill_who_columns;
7080 ----------------------------------
7081 -- FUNCTION populate_new_record --
7082 ----------------------------------
7083 FUNCTION populate_new_record (
7084 p_chrv_rec IN chrv_rec_type,
7085 x_chrv_rec OUT NOCOPY chrv_rec_type
7086 ) RETURN VARCHAR2 IS
7087 l_chrv_rec chrv_rec_type;
7088 l_row_notfound BOOLEAN := TRUE;
7089 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7090 BEGIN
7091
7092 IF (l_debug = 'Y') THEN
7093 okc_debug.Set_Indentation('OKC_CHR_PVT');
7094 okc_debug.LOG('20100: Entered populate_new_record', 2);
7095 END IF;
7096
7097 x_chrv_rec := p_chrv_rec;
7098 -- Get current database values
7099 l_chrv_rec := get_rec(p_chrv_rec, l_row_notfound);
7100 IF (l_row_notfound) THEN
7101 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7102 END IF;
7103 IF (x_chrv_rec.id = OKC_API.G_MISS_NUM)
7104 THEN
7105 x_chrv_rec.id := l_chrv_rec.id;
7106 END IF;
7107 IF (x_chrv_rec.object_version_number = OKC_API.G_MISS_NUM)
7108 THEN
7109 x_chrv_rec.object_version_number := l_chrv_rec.object_version_number;
7110 END IF;
7111 IF (x_chrv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
7112 THEN
7113 x_chrv_rec.sfwt_flag := l_chrv_rec.sfwt_flag;
7114 END IF;
7115 IF (x_chrv_rec.chr_id_response = OKC_API.G_MISS_NUM)
7116 THEN
7117 x_chrv_rec.chr_id_response := l_chrv_rec.chr_id_response;
7118 END IF;
7119 IF (x_chrv_rec.chr_id_award = OKC_API.G_MISS_NUM)
7120 THEN
7121 x_chrv_rec.chr_id_award := l_chrv_rec.chr_id_award;
7122 END IF;
7123 IF (x_chrv_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM)
7124 THEN
7125 x_chrv_rec.INV_ORGANIZATION_ID := l_chrv_rec.INV_ORGANIZATION_ID;
7126 END IF;
7127 IF (x_chrv_rec.sts_code = OKC_API.G_MISS_CHAR)
7128 THEN
7129 x_chrv_rec.sts_code := l_chrv_rec.sts_code;
7130 END IF;
7131 IF (x_chrv_rec.qcl_id = OKC_API.G_MISS_NUM)
7132 THEN
7133 x_chrv_rec.qcl_id := l_chrv_rec.qcl_id;
7134 END IF;
7135 IF (x_chrv_rec.scs_code = OKC_API.G_MISS_CHAR)
7136 THEN
7137 x_chrv_rec.scs_code := l_chrv_rec.scs_code;
7138 END IF;
7139 IF (x_chrv_rec.contract_number = OKC_API.G_MISS_CHAR)
7140 THEN
7141 x_chrv_rec.contract_number := l_chrv_rec.contract_number;
7142 END IF;
7143 IF (x_chrv_rec.currency_code = OKC_API.G_MISS_CHAR)
7144 THEN
7145 x_chrv_rec.currency_code := l_chrv_rec.currency_code;
7146 END IF;
7147 IF (x_chrv_rec.contract_number_modifier = OKC_API.G_MISS_CHAR)
7148 THEN
7149 x_chrv_rec.contract_number_modifier := l_chrv_rec.contract_number_modifier;
7150 END IF;
7151 IF (x_chrv_rec.archived_yn = OKC_API.G_MISS_CHAR)
7152 THEN
7153 x_chrv_rec.archived_yn := l_chrv_rec.archived_yn;
7154 END IF;
7155 IF (x_chrv_rec.deleted_yn = OKC_API.G_MISS_CHAR)
7156 THEN
7157 x_chrv_rec.deleted_yn := l_chrv_rec.deleted_yn;
7158 END IF;
7159 IF (x_chrv_rec.cust_po_number_req_yn = OKC_API.G_MISS_CHAR)
7160 THEN
7161 x_chrv_rec.cust_po_number_req_yn := l_chrv_rec.cust_po_number_req_yn;
7162 END IF;
7163 IF (x_chrv_rec.pre_pay_req_yn = OKC_API.G_MISS_CHAR)
7164 THEN
7165 x_chrv_rec.pre_pay_req_yn := l_chrv_rec.pre_pay_req_yn;
7166 END IF;
7167 IF (x_chrv_rec.cust_po_number = OKC_API.G_MISS_CHAR)
7168 THEN
7169 x_chrv_rec.cust_po_number := l_chrv_rec.cust_po_number;
7170 END IF;
7171 IF (x_chrv_rec.short_description = OKC_API.G_MISS_CHAR)
7172 THEN
7173 x_chrv_rec.short_description := l_chrv_rec.short_description;
7174 END IF;
7175 IF (x_chrv_rec.comments = OKC_API.G_MISS_CHAR)
7176 THEN
7177 x_chrv_rec.comments := l_chrv_rec.comments;
7178 END IF;
7179 IF (x_chrv_rec.description = OKC_API.G_MISS_CHAR)
7180 THEN
7181 x_chrv_rec.description := l_chrv_rec.description;
7182 END IF;
7183 IF (x_chrv_rec.dpas_rating = OKC_API.G_MISS_CHAR)
7184 THEN
7185 x_chrv_rec.dpas_rating := l_chrv_rec.dpas_rating;
7186 END IF;
7187 IF (x_chrv_rec.cognomen = OKC_API.G_MISS_CHAR)
7188 THEN
7189 x_chrv_rec.cognomen := l_chrv_rec.cognomen;
7190 END IF;
7191 IF (x_chrv_rec.template_yn = OKC_API.G_MISS_CHAR)
7192 THEN
7193 x_chrv_rec.template_yn := l_chrv_rec.template_yn;
7194 END IF;
7195 IF (x_chrv_rec.template_used = OKC_API.G_MISS_CHAR)
7196 THEN
7197 x_chrv_rec.template_used := l_chrv_rec.template_used;
7198 END IF;
7199 IF (x_chrv_rec.date_approved = OKC_API.G_MISS_DATE)
7200 THEN
7201 x_chrv_rec.date_approved := l_chrv_rec.date_approved;
7202 END IF;
7203 IF (x_chrv_rec.datetime_cancelled = OKC_API.G_MISS_DATE)
7204 THEN
7205 x_chrv_rec.datetime_cancelled := l_chrv_rec.datetime_cancelled;
7206 END IF;
7207 IF (x_chrv_rec.auto_renew_days = OKC_API.G_MISS_NUM)
7208 THEN
7209 x_chrv_rec.auto_renew_days := l_chrv_rec.auto_renew_days;
7210 END IF;
7211 IF (x_chrv_rec.date_issued = OKC_API.G_MISS_DATE)
7212 THEN
7213 x_chrv_rec.date_issued := l_chrv_rec.date_issued;
7214 END IF;
7215 IF (x_chrv_rec.datetime_responded = OKC_API.G_MISS_DATE)
7216 THEN
7217 x_chrv_rec.datetime_responded := l_chrv_rec.datetime_responded;
7218 END IF;
7219 IF (x_chrv_rec.non_response_reason = OKC_API.G_MISS_CHAR)
7220 THEN
7221 x_chrv_rec.non_response_reason := l_chrv_rec.non_response_reason;
7222 END IF;
7223 IF (x_chrv_rec.non_response_explain = OKC_API.G_MISS_CHAR)
7224 THEN
7225 x_chrv_rec.non_response_explain := l_chrv_rec.non_response_explain;
7226 END IF;
7227 IF (x_chrv_rec.rfp_type = OKC_API.G_MISS_CHAR)
7228 THEN
7229 x_chrv_rec.rfp_type := l_chrv_rec.rfp_type;
7230 END IF;
7231 IF (x_chrv_rec.chr_type = OKC_API.G_MISS_CHAR)
7232 THEN
7233 x_chrv_rec.chr_type := l_chrv_rec.chr_type;
7234 END IF;
7235 IF (x_chrv_rec.keep_on_mail_list = OKC_API.G_MISS_CHAR)
7236 THEN
7237 x_chrv_rec.keep_on_mail_list := l_chrv_rec.keep_on_mail_list;
7238 END IF;
7239 IF (x_chrv_rec.set_aside_reason = OKC_API.G_MISS_CHAR)
7240 THEN
7241 x_chrv_rec.set_aside_reason := l_chrv_rec.set_aside_reason;
7242 END IF;
7243 IF (x_chrv_rec.set_aside_percent = OKC_API.G_MISS_NUM)
7244 THEN
7245 x_chrv_rec.set_aside_percent := l_chrv_rec.set_aside_percent;
7246 END IF;
7247 IF (x_chrv_rec.response_copies_req = OKC_API.G_MISS_NUM)
7248 THEN
7249 x_chrv_rec.response_copies_req := l_chrv_rec.response_copies_req;
7250 END IF;
7251 IF (x_chrv_rec.date_close_projected = OKC_API.G_MISS_DATE)
7252 THEN
7253 x_chrv_rec.date_close_projected := l_chrv_rec.date_close_projected;
7254 END IF;
7255 IF (x_chrv_rec.datetime_proposed = OKC_API.G_MISS_DATE)
7256 THEN
7257 x_chrv_rec.datetime_proposed := l_chrv_rec.datetime_proposed;
7258 END IF;
7259 IF (x_chrv_rec.date_signed = OKC_API.G_MISS_DATE)
7260 THEN
7261 x_chrv_rec.date_signed := l_chrv_rec.date_signed;
7262 END IF;
7263 IF (x_chrv_rec.date_terminated = OKC_API.G_MISS_DATE)
7264 THEN
7265 x_chrv_rec.date_terminated := l_chrv_rec.date_terminated;
7266 END IF;
7267 IF (x_chrv_rec.date_renewed = OKC_API.G_MISS_DATE)
7268 THEN
7269 x_chrv_rec.date_renewed := l_chrv_rec.date_renewed;
7270 END IF;
7271 IF (x_chrv_rec.trn_code = OKC_API.G_MISS_CHAR)
7272 THEN
7273 x_chrv_rec.trn_code := l_chrv_rec.trn_code;
7274 END IF;
7275 IF (x_chrv_rec.start_date = OKC_API.G_MISS_DATE)
7276 THEN
7277 x_chrv_rec.start_date := l_chrv_rec.start_date;
7278 END IF;
7279 IF (x_chrv_rec.end_date = OKC_API.G_MISS_DATE)
7280 THEN
7281 x_chrv_rec.end_date := l_chrv_rec.end_date;
7282 END IF;
7283 IF (x_chrv_rec.authoring_org_id = OKC_API.G_MISS_NUM)
7284 THEN
7285 x_chrv_rec.authoring_org_id := l_chrv_rec.authoring_org_id;
7286 END IF;
7287 --mmadhavi added for MOAC
7288
7289 IF (x_chrv_rec.org_id = OKC_API.G_MISS_NUM)
7290 THEN
7291 x_chrv_rec.org_id := l_chrv_rec.org_id;
7292 END IF;
7293
7294 --mmadhavi end MOAC
7295 IF (x_chrv_rec.buy_or_sell = OKC_API.G_MISS_CHAR)
7296 THEN
7297 x_chrv_rec.buy_or_sell := l_chrv_rec.buy_or_sell;
7298 END IF;
7299 IF (x_chrv_rec.issue_or_receive = OKC_API.G_MISS_CHAR)
7300 THEN
7301 x_chrv_rec.issue_or_receive := l_chrv_rec.issue_or_receive;
7302 END IF;
7303 IF (x_chrv_rec.estimated_amount = OKC_API.G_MISS_NUM)
7304 THEN
7305 x_chrv_rec.estimated_amount := l_chrv_rec.estimated_amount;
7306 END IF;
7307 IF (x_chrv_rec.estimated_amount_renewed = OKC_API.G_MISS_NUM)
7308 THEN
7309 x_chrv_rec.estimated_amount_renewed := l_chrv_rec.estimated_amount_renewed;
7310 END IF;
7311 IF (x_chrv_rec.currency_code_renewed = OKC_API.G_MISS_CHAR)
7312 THEN
7313 x_chrv_rec.currency_code_renewed := l_chrv_rec.currency_code_renewed;
7314 END IF;
7315 IF (x_chrv_rec.upg_orig_system_ref = OKC_API.G_MISS_CHAR)
7316 THEN
7317 x_chrv_rec.upg_orig_system_ref := l_chrv_rec.upg_orig_system_ref;
7318 END IF;
7319 IF (x_chrv_rec.upg_orig_system_ref_id = OKC_API.G_MISS_NUM)
7320 THEN
7321 x_chrv_rec.upg_orig_system_ref_id := l_chrv_rec.upg_orig_system_ref_id;
7322 END IF;
7323 IF (x_chrv_rec.application_id = OKC_API.G_MISS_NUM)
7324 THEN
7325 x_chrv_rec.application_id := l_chrv_rec.application_id;
7326 END IF;
7327 IF (x_chrv_rec.orig_system_source_code = OKC_API.G_MISS_CHAR )
7328 THEN
7329 x_chrv_rec.orig_system_source_code := l_chrv_rec.orig_system_source_code ;
7330 END IF;
7331 IF (x_chrv_rec.orig_system_id1 = OKC_API.G_MISS_NUM )
7332 THEN
7333 x_chrv_rec.orig_system_id1 := l_chrv_rec.orig_system_id1 ;
7334 END IF;
7335 IF (x_chrv_rec.orig_system_reference1 = OKC_API.G_MISS_CHAR )
7336 THEN
7337 x_chrv_rec.orig_system_reference1 := l_chrv_rec.orig_system_reference1 ;
7338 END IF ;
7339 IF (x_chrv_rec.program_id = OKC_API.G_MISS_NUM)
7340 THEN
7341 x_chrv_rec.program_id := l_chrv_rec.program_id;
7342 END IF;
7343 IF (x_chrv_rec.request_id = OKC_API.G_MISS_NUM)
7344 THEN
7345 x_chrv_rec.request_id := l_chrv_rec.request_id;
7346 END IF;
7347 IF (x_chrv_rec.program_update_date = OKC_API.G_MISS_DATE)
7348 THEN
7349 x_chrv_rec.program_update_date := l_chrv_rec.program_update_date;
7350 END IF;
7351 IF (x_chrv_rec.program_application_id = OKC_API.G_MISS_NUM)
7352 THEN
7353 x_chrv_rec.program_application_id := l_chrv_rec.program_application_id;
7354 END IF;
7355 IF (x_chrv_rec.price_list_id = OKC_API.G_MISS_NUM)
7356 THEN
7357 x_chrv_rec.price_list_id := l_chrv_rec.price_list_id;
7358 END IF;
7359 IF (x_chrv_rec.pricing_date = OKC_API.G_MISS_DATE)
7360 THEN
7361 x_chrv_rec.pricing_date := l_chrv_rec.pricing_date;
7362 END IF;
7363 IF (x_chrv_rec.sign_by_date = OKC_API.G_MISS_DATE)
7364 THEN
7365 x_chrv_rec.sign_by_date := l_chrv_rec.sign_by_date;
7366 END IF;
7367 IF (x_chrv_rec.total_line_list_price = OKC_API.G_MISS_NUM)
7368 THEN
7369 x_chrv_rec.total_line_list_price := l_chrv_rec.total_line_list_price;
7370 END IF;
7371 IF (x_chrv_rec.user_estimated_amount = OKC_API.G_MISS_NUM) THEN
7372 x_chrv_rec.user_estimated_amount := l_chrv_rec.user_estimated_amount;
7373 END IF;
7374 IF (x_chrv_rec.governing_contract_yn = OKC_API.G_MISS_CHAR) THEN
7375 x_chrv_rec.governing_contract_yn := l_chrv_rec.governing_contract_yn;
7376 END IF;
7377 IF (x_chrv_rec.attribute_category = OKC_API.G_MISS_CHAR)
7378 THEN
7379 x_chrv_rec.attribute_category := l_chrv_rec.attribute_category;
7380 END IF;
7381 IF (x_chrv_rec.attribute1 = OKC_API.G_MISS_CHAR)
7382 THEN
7383 x_chrv_rec.attribute1 := l_chrv_rec.attribute1;
7384 END IF;
7385 IF (x_chrv_rec.attribute2 = OKC_API.G_MISS_CHAR)
7386 THEN
7387 x_chrv_rec.attribute2 := l_chrv_rec.attribute2;
7388 END IF;
7389 IF (x_chrv_rec.attribute3 = OKC_API.G_MISS_CHAR)
7390 THEN
7391 x_chrv_rec.attribute3 := l_chrv_rec.attribute3;
7392 END IF;
7393 IF (x_chrv_rec.attribute4 = OKC_API.G_MISS_CHAR)
7394 THEN
7395 x_chrv_rec.attribute4 := l_chrv_rec.attribute4;
7396 END IF;
7397 IF (x_chrv_rec.attribute5 = OKC_API.G_MISS_CHAR)
7398 THEN
7399 x_chrv_rec.attribute5 := l_chrv_rec.attribute5;
7400 END IF;
7401 IF (x_chrv_rec.attribute6 = OKC_API.G_MISS_CHAR)
7402 THEN
7403 x_chrv_rec.attribute6 := l_chrv_rec.attribute6;
7404 END IF;
7405 IF (x_chrv_rec.attribute7 = OKC_API.G_MISS_CHAR)
7406 THEN
7407 x_chrv_rec.attribute7 := l_chrv_rec.attribute7;
7408 END IF;
7409 IF (x_chrv_rec.attribute8 = OKC_API.G_MISS_CHAR)
7410 THEN
7411 x_chrv_rec.attribute8 := l_chrv_rec.attribute8;
7412 END IF;
7413 IF (x_chrv_rec.attribute9 = OKC_API.G_MISS_CHAR)
7414 THEN
7415 x_chrv_rec.attribute9 := l_chrv_rec.attribute9;
7416 END IF;
7417 IF (x_chrv_rec.attribute10 = OKC_API.G_MISS_CHAR)
7418 THEN
7419 x_chrv_rec.attribute10 := l_chrv_rec.attribute10;
7420 END IF;
7421 IF (x_chrv_rec.attribute11 = OKC_API.G_MISS_CHAR)
7422 THEN
7423 x_chrv_rec.attribute11 := l_chrv_rec.attribute11;
7424 END IF;
7425 IF (x_chrv_rec.attribute12 = OKC_API.G_MISS_CHAR)
7426 THEN
7427 x_chrv_rec.attribute12 := l_chrv_rec.attribute12;
7428 END IF;
7429 IF (x_chrv_rec.attribute13 = OKC_API.G_MISS_CHAR)
7430 THEN
7431 x_chrv_rec.attribute13 := l_chrv_rec.attribute13;
7432 END IF;
7433 IF (x_chrv_rec.attribute14 = OKC_API.G_MISS_CHAR)
7434 THEN
7435 x_chrv_rec.attribute14 := l_chrv_rec.attribute14;
7436 END IF;
7437 IF (x_chrv_rec.attribute15 = OKC_API.G_MISS_CHAR)
7438 THEN
7439 x_chrv_rec.attribute15 := l_chrv_rec.attribute15;
7440 END IF;
7441 IF (x_chrv_rec.created_by = OKC_API.G_MISS_NUM)
7442 THEN
7443 x_chrv_rec.created_by := l_chrv_rec.created_by;
7444 END IF;
7445 IF (x_chrv_rec.creation_date = OKC_API.G_MISS_DATE)
7446 THEN
7447 x_chrv_rec.creation_date := l_chrv_rec.creation_date;
7448 END IF;
7449 IF (x_chrv_rec.last_updated_by = OKC_API.G_MISS_NUM)
7450 THEN
7451 x_chrv_rec.last_updated_by := l_chrv_rec.last_updated_by;
7452 END IF;
7453 IF (x_chrv_rec.last_update_date = OKC_API.G_MISS_DATE)
7454 THEN
7455 x_chrv_rec.last_update_date := l_chrv_rec.last_update_date;
7456 END IF;
7457 IF (x_chrv_rec.last_update_login = OKC_API.G_MISS_NUM)
7458 THEN
7459 x_chrv_rec.last_update_login := l_chrv_rec.last_update_login;
7460 END IF;
7461 -- new columns to replace rules
7462 IF (x_chrv_rec.conversion_type = OKC_API.G_MISS_CHAR) THEN
7463 x_chrv_rec.conversion_type := l_chrv_rec.conversion_type;
7464 END IF;
7465 IF (x_chrv_rec.conversion_rate = OKC_API.G_MISS_NUM) THEN
7466 x_chrv_rec.conversion_rate := l_chrv_rec.conversion_rate;
7467 END IF;
7468 IF (x_chrv_rec.conversion_rate_date = OKC_API.G_MISS_DATE) THEN
7469 x_chrv_rec.conversion_rate_date := l_chrv_rec.conversion_rate_date;
7470 END IF;
7471 IF (x_chrv_rec.conversion_euro_rate = OKC_API.G_MISS_NUM) THEN
7472 x_chrv_rec.conversion_euro_rate := l_chrv_rec.conversion_euro_rate;
7473 END IF;
7474 IF (x_chrv_rec.cust_acct_id = OKC_API.G_MISS_NUM) THEN
7475 x_chrv_rec.cust_acct_id := l_chrv_rec.cust_acct_id;
7476 END IF;
7477 IF (x_chrv_rec.bill_to_site_use_id = OKC_API.G_MISS_NUM) THEN
7478 x_chrv_rec.bill_to_site_use_id := l_chrv_rec.bill_to_site_use_id;
7479 END IF;
7480 IF (x_chrv_rec.inv_rule_id = OKC_API.G_MISS_NUM) THEN
7481 x_chrv_rec.inv_rule_id := l_chrv_rec.inv_rule_id;
7482 END IF;
7483 IF (x_chrv_rec.renewal_type_code = OKC_API.G_MISS_CHAR) THEN
7484 x_chrv_rec.renewal_type_code := l_chrv_rec.renewal_type_code;
7485 END IF;
7486 IF (x_chrv_rec.renewal_notify_to = OKC_API.G_MISS_NUM) THEN
7487 x_chrv_rec.renewal_notify_to := l_chrv_rec.renewal_notify_to;
7488 END IF;
7489 IF (x_chrv_rec.renewal_end_date = OKC_API.G_MISS_DATE) THEN
7490 x_chrv_rec.renewal_end_date := l_chrv_rec.renewal_end_date;
7491 END IF;
7492 IF (x_chrv_rec.ship_to_site_use_id = OKC_API.G_MISS_NUM) THEN
7493 x_chrv_rec.ship_to_site_use_id := l_chrv_rec.ship_to_site_use_id;
7494 END IF;
7495 IF (x_chrv_rec.payment_term_id = OKC_API.G_MISS_NUM) THEN
7496 x_chrv_rec.payment_term_id := l_chrv_rec.payment_term_id;
7497 END IF;
7498 IF (x_chrv_rec.document_id = OKC_API.G_MISS_NUM) THEN
7499 x_chrv_rec.document_id := l_chrv_rec.document_id;
7500 END IF;
7501 -- R12 Data Model Changes 4485150 Start
7502 IF (x_chrv_rec.approval_type = OKC_API.G_MISS_CHAR) THEN
7503 x_chrv_rec.approval_type := l_chrv_rec.approval_type;
7504 END IF;
7505 IF (x_chrv_rec.term_cancel_source = OKC_API.G_MISS_CHAR) THEN
7506 x_chrv_rec.term_cancel_source := l_chrv_rec.term_cancel_source;
7507 END IF;
7508 IF (x_chrv_rec.payment_instruction_type = OKC_API.G_MISS_CHAR) THEN
7509 x_chrv_rec.payment_instruction_type := l_chrv_rec.payment_instruction_type;
7510 END IF;
7511 -- LLC
7512 IF (x_chrv_rec.cancelled_amount = OKC_API.G_MISS_NUM) THEN
7513 x_chrv_rec.cancelled_amount := l_chrv_rec.cancelled_amount;
7514 END IF;
7515 -- R12 Data Model Changes 4485150 End
7516
7517 RETURN(l_return_status);
7518
7519 END populate_new_record;
7520 ----------------------------------------
7521 -- Set_Attributes for:OKC_K_HEADERS_V --
7522 ----------------------------------------
7523 FUNCTION Set_Attributes (
7524 p_chrv_rec IN chrv_rec_type,
7525 x_chrv_rec OUT NOCOPY chrv_rec_type
7526 ) RETURN VARCHAR2 IS
7527 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7528 BEGIN
7529
7530 IF (l_debug = 'Y') THEN
7531 okc_debug.Set_Indentation('OKC_CHR_PVT');
7532 okc_debug.LOG('20200: Entered Set_Attributes', 2);
7533 END IF;
7534
7535 x_chrv_rec := p_chrv_rec;
7536 x_chrv_rec.OBJECT_VERSION_NUMBER := NVL(x_chrv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
7537 /************************ HAND-CODED *********************************/
7538 x_chrv_rec.SFWT_FLAG := UPPER(x_chrv_rec.SFWT_FLAG);
7539 x_chrv_rec.ARCHIVED_YN := UPPER(x_chrv_rec.ARCHIVED_YN);
7540 x_chrv_rec.DELETED_YN := UPPER(x_chrv_rec.DELETED_YN);
7541 x_chrv_rec.CUST_PO_NUMBER_REQ_YN := UPPER(x_chrv_rec.CUST_PO_NUMBER_REQ_YN);
7542 x_chrv_rec.PRE_PAY_REQ_YN := UPPER(x_chrv_rec.PRE_PAY_REQ_YN);
7543 x_chrv_rec.TEMPLATE_YN := UPPER(x_chrv_rec.TEMPLATE_YN);
7544 x_chrv_rec.KEEP_ON_MAIL_LIST := UPPER(x_chrv_rec.KEEP_ON_MAIL_LIST);
7545 x_chrv_rec.CHR_TYPE := UPPER(x_chrv_rec.CHR_TYPE);
7546
7547 -- If contract is cancelled, update datetime_cancelled
7548 IF (Get_Status_Type(x_chrv_rec.STS_CODE) = 'CANCELLED' AND
7549 (x_chrv_rec.datetime_cancelled = OKC_API.G_MISS_DATE OR
7550 x_chrv_rec.datetime_cancelled IS NULL) )
7551 THEN
7552 x_chrv_rec.datetime_cancelled := SYSDATE;
7553 END IF;
7554 /*********************** END HAND-CODED ********************************/
7555 RETURN(l_return_status);
7556
7557 END Set_Attributes;
7558 BEGIN
7559
7560 IF (l_debug = 'Y') THEN
7561 okc_debug.Set_Indentation('OKC_CHR_PVT');
7562 okc_debug.LOG('20300: Entered update_row', 2);
7563 END IF;
7564
7565 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7566 G_PKG_NAME,
7567 p_init_msg_list,
7568 l_api_version,
7569 p_api_version,
7570 '_PVT',
7571 x_return_status);
7572 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7573 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7574 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7575 RAISE OKC_API.G_EXCEPTION_ERROR;
7576 END IF;
7577 --- Setting item attributes
7578 l_return_status := Set_Attributes(
7579 p_chrv_rec, -- IN
7580 l_chrv_rec); -- OUT
7581 --- If any errors happen abort API
7582 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7583 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7584 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7585 RAISE OKC_API.G_EXCEPTION_ERROR;
7586 END IF;
7587 l_return_status := populate_new_record(l_chrv_rec, l_def_chrv_rec);
7588 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7589 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7590 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7591 RAISE OKC_API.G_EXCEPTION_ERROR;
7592 END IF;
7593 l_def_chrv_rec := fill_who_columns(l_def_chrv_rec);
7594
7595 IF p_chrv_rec.VALIDATE_YN = 'Y' THEN ---Bug#3150149
7596 --- Validate all non-missing attributes (Item Level Validation)
7597 -- No validation if the status changes from ENTERED -> CANCELED
7598 IF (NVL(p_chrv_rec.new_ste_code, 'x') <> 'CANCELLED') THEN
7599 l_return_status := Validate_Attributes(l_def_chrv_rec);
7600 END IF;
7601 END IF; ---Bug#3150149.
7602
7603 --- If any errors happen abort API
7604 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7605 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7606 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7607 RAISE OKC_API.G_EXCEPTION_ERROR;
7608 END IF;
7609 l_return_status := Validate_Record(l_def_chrv_rec);
7610 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7611 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7612 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7613 RAISE OKC_API.G_EXCEPTION_ERROR;
7614 END IF;
7615
7616 --------------------------------------
7617 -- Move VIEW record to "Child" records
7618 --------------------------------------
7619 migrate(l_def_chrv_rec, l_okc_k_headers_tl_rec);
7620 migrate(l_def_chrv_rec, l_chr_rec);
7621 --------------------------------------------
7622 -- Call the UPDATE_ROW for each child record
7623 --------------------------------------------
7624 update_row(
7625 p_init_msg_list,
7626 x_return_status,
7627 x_msg_count,
7628 x_msg_data,
7629 l_okc_k_headers_tl_rec,
7630 lx_okc_k_headers_tl_rec
7631 );
7632 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7633 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7634 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7635 RAISE OKC_API.G_EXCEPTION_ERROR;
7636 END IF;
7637 migrate(lx_okc_k_headers_tl_rec, l_def_chrv_rec);
7638 update_row(
7639 p_init_msg_list,
7640 x_return_status,
7641 x_msg_count,
7642 x_msg_data,
7643 p_restricted_update,
7644 l_chr_rec,
7645 lx_chr_rec
7646 );
7647 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7648 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7649 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7650 RAISE OKC_API.G_EXCEPTION_ERROR;
7651 END IF;
7652 migrate(lx_chr_rec, l_def_chrv_rec);
7653 x_chrv_rec := l_def_chrv_rec;
7654 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7655 IF (l_debug = 'Y') THEN
7656 okc_debug.LOG('20400: Exiting update_row', 2);
7657 okc_debug.Reset_Indentation;
7658 END IF;
7659
7660
7661 EXCEPTION
7662 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7663
7664 IF (l_debug = 'Y') THEN
7665 okc_debug.LOG('20500: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7666 okc_debug.Reset_Indentation;
7667 END IF;
7668
7669 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7670 (
7671 l_api_name,
7672 G_PKG_NAME,
7673 'OKC_API.G_RET_STS_ERROR',
7674 x_msg_count,
7675 x_msg_data,
7676 '_PVT'
7677 );
7678 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7679
7680 IF (l_debug = 'Y') THEN
7681 okc_debug.LOG('20600: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
7682 okc_debug.Reset_Indentation;
7683 END IF;
7684
7685 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7686 (
7687 l_api_name,
7688 G_PKG_NAME,
7689 'OKC_API.G_RET_STS_UNEXP_ERROR',
7690 x_msg_count,
7691 x_msg_data,
7692 '_PVT'
7693 );
7694 WHEN OTHERS THEN
7695
7696 IF (l_debug = 'Y') THEN
7697 okc_debug.LOG('20700: Exiting update_row:OTHERS Exception', 2);
7698 okc_debug.Reset_Indentation;
7699 END IF;
7700
7701 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7702 (
7703 l_api_name,
7704 G_PKG_NAME,
7705 'OTHERS',
7706 x_msg_count,
7707 x_msg_data,
7708 '_PVT'
7709 );
7710
7711 END update_row;
7712 ----------------------------------------
7713 -- PL/SQL TBL update_row for:CHRV_TBL --
7714 ----------------------------------------
7715 PROCEDURE update_row(
7716 p_api_version IN NUMBER,
7717 p_init_msg_list IN VARCHAR2,
7718 x_return_status OUT NOCOPY VARCHAR2,
7719 x_msg_count OUT NOCOPY NUMBER,
7720 x_msg_data OUT NOCOPY VARCHAR2,
7721 p_restricted_update IN VARCHAR2,
7722 p_chrv_tbl IN chrv_tbl_type,
7723 x_chrv_tbl OUT NOCOPY chrv_tbl_type) IS
7724
7725 l_api_version CONSTANT NUMBER := 1;
7726 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
7727 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7728 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7729 i NUMBER := 0;
7730 BEGIN
7731
7732 IF (l_debug = 'Y') THEN
7733 okc_debug.Set_Indentation('OKC_CHR_PVT');
7734 okc_debug.LOG('20800: Entered update_row', 2);
7735 END IF;
7736
7737 OKC_API.init_msg_list(p_init_msg_list);
7738 -- Make sure PL/SQL table has records in it before passing
7739 IF (p_chrv_tbl.COUNT > 0) THEN
7740 i := p_chrv_tbl.FIRST;
7741 LOOP
7742 update_row (
7743 p_api_version => p_api_version,
7744 p_init_msg_list => OKC_API.G_FALSE,
7745 x_return_status => x_return_status,
7746 x_msg_count => x_msg_count,
7747 x_msg_data => x_msg_data,
7748 p_restricted_update => p_restricted_update,
7749 p_chrv_rec => p_chrv_tbl(i),
7750 x_chrv_rec => x_chrv_tbl(i));
7751
7752 -- store the highest degree of error
7753 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
7754 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
7755 l_overall_status := x_return_status;
7756 END IF;
7757 END IF;
7758
7759 EXIT WHEN (i = p_chrv_tbl.LAST);
7760 i := p_chrv_tbl.NEXT(i);
7761 END LOOP;
7762 -- return overall status
7763 x_return_status := l_overall_status;
7764 END IF;
7765 IF (l_debug = 'Y') THEN
7766 okc_debug.LOG('20900: Exiting update_row', 2);
7767 okc_debug.Reset_Indentation;
7768 END IF;
7769
7770
7771 EXCEPTION
7772 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7773
7774 IF (l_debug = 'Y') THEN
7775 okc_debug.LOG('21000: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7776 okc_debug.Reset_Indentation;
7777 END IF;
7778
7779 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7780 (
7781 l_api_name,
7782 G_PKG_NAME,
7783 'OKC_API.G_RET_STS_ERROR',
7784 x_msg_count,
7785 x_msg_data,
7786 '_PVT'
7787 );
7788 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7789
7790 IF (l_debug = 'Y') THEN
7791 okc_debug.LOG('21100: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
7792 okc_debug.Reset_Indentation;
7793 END IF;
7794
7795 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7796 (
7797 l_api_name,
7798 G_PKG_NAME,
7799 'OKC_API.G_RET_STS_UNEXP_ERROR',
7800 x_msg_count,
7801 x_msg_data,
7802 '_PVT'
7803 );
7804 WHEN OTHERS THEN
7805
7806 IF (l_debug = 'Y') THEN
7807 okc_debug.LOG('21200: Exiting update_row:OTHERS Exception', 2);
7808 okc_debug.Reset_Indentation;
7809 END IF;
7810
7811 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7812 (
7813 l_api_name,
7814 G_PKG_NAME,
7815 'OTHERS',
7816 x_msg_count,
7817 x_msg_data,
7818 '_PVT'
7819 );
7820
7821 END update_row;
7822
7823 ---------------------------------------------------------------------------
7824 -- PROCEDURE delete_row
7825 ---------------------------------------------------------------------------
7826 ------------------------------------
7827 -- delete_row for:OKC_K_HEADERS_ALL_B --
7828 ------------------------------------
7829 PROCEDURE delete_row(
7830 p_init_msg_list IN VARCHAR2,
7831 x_return_status OUT NOCOPY VARCHAR2,
7832 x_msg_count OUT NOCOPY NUMBER,
7833 x_msg_data OUT NOCOPY VARCHAR2,
7834 p_chr_rec IN chr_rec_type) IS
7835
7836 l_api_version CONSTANT NUMBER := 1;
7837 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
7838 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7839 l_chr_rec chr_rec_type := p_chr_rec;
7840 l_row_notfound BOOLEAN := TRUE;
7841 BEGIN
7842
7843 IF (l_debug = 'Y') THEN
7844 okc_debug.Set_Indentation('OKC_CHR_PVT');
7845 okc_debug.LOG('21300: Entered delete_row', 2);
7846 END IF;
7847
7848 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7849 p_init_msg_list,
7850 '_PVT',
7851 x_return_status);
7852 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7853 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7854 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7855 RAISE OKC_API.G_EXCEPTION_ERROR;
7856 END IF;
7857 DELETE FROM OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
7858 WHERE ID = l_chr_rec.id;
7859
7860 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7861 IF (l_debug = 'Y') THEN
7862 okc_debug.LOG('21400: Exiting delete_row', 2);
7863 okc_debug.Reset_Indentation;
7864 END IF;
7865
7866
7867 EXCEPTION
7868 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7869
7870 IF (l_debug = 'Y') THEN
7871 okc_debug.LOG('21500: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7872 okc_debug.Reset_Indentation;
7873 END IF;
7874
7875 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7876 (
7877 l_api_name,
7878 G_PKG_NAME,
7879 'OKC_API.G_RET_STS_ERROR',
7880 x_msg_count,
7881 x_msg_data,
7882 '_PVT'
7883 );
7884 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7885
7886 IF (l_debug = 'Y') THEN
7887 okc_debug.LOG('21600: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
7888 okc_debug.Reset_Indentation;
7889 END IF;
7890
7891 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7892 (
7893 l_api_name,
7894 G_PKG_NAME,
7895 'OKC_API.G_RET_STS_UNEXP_ERROR',
7896 x_msg_count,
7897 x_msg_data,
7898 '_PVT'
7899 );
7900 WHEN OTHERS THEN
7901
7902 IF (l_debug = 'Y') THEN
7903 okc_debug.LOG('21700: Exiting delete_row:OTHERS Exception', 2);
7904 okc_debug.Reset_Indentation;
7905 END IF;
7906
7907 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7908 (
7909 l_api_name,
7910 G_PKG_NAME,
7911 'OTHERS',
7912 x_msg_count,
7913 x_msg_data,
7914 '_PVT'
7915 );
7916
7917 END delete_row;
7918 -------------------------------------
7919 -- delete_row for:OKC_K_HEADERS_TL --
7920 -------------------------------------
7921 PROCEDURE delete_row(
7922 p_init_msg_list IN VARCHAR2,
7923 x_return_status OUT NOCOPY VARCHAR2,
7924 x_msg_count OUT NOCOPY NUMBER,
7925 x_msg_data OUT NOCOPY VARCHAR2,
7926 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type) IS
7927
7928 l_api_version CONSTANT NUMBER := 1;
7929 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
7930 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7931 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type := p_okc_k_headers_tl_rec;
7932 l_row_notfound BOOLEAN := TRUE;
7933 -----------------------------------------
7934 -- Set_Attributes for:OKC_K_HEADERS_TL --
7935 -----------------------------------------
7936 FUNCTION Set_Attributes (
7937 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
7938 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
7939 ) RETURN VARCHAR2 IS
7940 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7941 BEGIN
7942
7943 IF (l_debug = 'Y') THEN
7944 okc_debug.Set_Indentation('OKC_CHR_PVT');
7945 okc_debug.LOG('21800: Entered Set_Attributes', 2);
7946 END IF;
7947
7948 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
7949 x_okc_k_headers_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
7950 RETURN(l_return_status);
7951
7952 END Set_Attributes;
7953 BEGIN
7954
7955 IF (l_debug = 'Y') THEN
7956 okc_debug.Set_Indentation('OKC_CHR_PVT');
7957 okc_debug.LOG('21900: Entered delete_row', 2);
7958 END IF;
7959
7960 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7961 p_init_msg_list,
7962 '_PVT',
7963 x_return_status);
7964 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7965 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7966 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7967 RAISE OKC_API.G_EXCEPTION_ERROR;
7968 END IF;
7969 --- Setting item attributes
7970 l_return_status := Set_Attributes(
7971 p_okc_k_headers_tl_rec, -- IN
7972 l_okc_k_headers_tl_rec); -- OUT
7973 --- If any errors happen abort API
7974 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7975 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7976 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7977 RAISE OKC_API.G_EXCEPTION_ERROR;
7978 END IF;
7979 DELETE FROM OKC_K_HEADERS_TL
7980 WHERE ID = l_okc_k_headers_tl_rec.id;
7981
7982 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7983 IF (l_debug = 'Y') THEN
7984 okc_debug.LOG('22000: Exiting delete_row', 2);
7985 okc_debug.Reset_Indentation;
7986 END IF;
7987
7988
7989 EXCEPTION
7990 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7991
7992 IF (l_debug = 'Y') THEN
7993 okc_debug.LOG('22100: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7994 okc_debug.Reset_Indentation;
7995 END IF;
7996
7997 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7998 (
7999 l_api_name,
8000 G_PKG_NAME,
8001 'OKC_API.G_RET_STS_ERROR',
8002 x_msg_count,
8003 x_msg_data,
8004 '_PVT'
8005 );
8006 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8007
8008 IF (l_debug = 'Y') THEN
8009 okc_debug.LOG('22200: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
8010 okc_debug.Reset_Indentation;
8011 END IF;
8012
8013 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8014 (
8015 l_api_name,
8016 G_PKG_NAME,
8017 'OKC_API.G_RET_STS_UNEXP_ERROR',
8018 x_msg_count,
8019 x_msg_data,
8020 '_PVT'
8021 );
8022 WHEN OTHERS THEN
8023
8024 IF (l_debug = 'Y') THEN
8025 okc_debug.LOG('22300: Exiting delete_row:OTHERS Exception', 2);
8026 okc_debug.Reset_Indentation;
8027 END IF;
8028
8029 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8030 (
8031 l_api_name,
8032 G_PKG_NAME,
8033 'OTHERS',
8034 x_msg_count,
8035 x_msg_data,
8036 '_PVT'
8037 );
8038
8039 END delete_row;
8040 ------------------------------------
8041 -- delete_row for:OKC_K_HEADERS_V --
8042 ------------------------------------
8043 PROCEDURE delete_row(
8044 p_api_version IN NUMBER,
8045 p_init_msg_list IN VARCHAR2,
8046 x_return_status OUT NOCOPY VARCHAR2,
8047 x_msg_count OUT NOCOPY NUMBER,
8048 x_msg_data OUT NOCOPY VARCHAR2,
8049 p_chrv_rec IN chrv_rec_type) IS
8050
8051 l_api_version CONSTANT NUMBER := 1;
8052 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
8053 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8054 l_chrv_rec chrv_rec_type := p_chrv_rec;
8055 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
8056 l_chr_rec chr_rec_type;
8057 BEGIN
8058
8059 IF (l_debug = 'Y') THEN
8060 okc_debug.Set_Indentation('OKC_CHR_PVT');
8061 okc_debug.LOG('22400: Entered delete_row', 2);
8062 END IF;
8063
8064 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
8065 G_PKG_NAME,
8066 p_init_msg_list,
8067 l_api_version,
8068 p_api_version,
8069 '_PVT',
8070 x_return_status);
8071 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
8072 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
8073 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
8074 RAISE OKC_API.G_EXCEPTION_ERROR;
8075 END IF;
8076 --------------------------------------
8077 -- Move VIEW record to "Child" records
8078 --------------------------------------
8079 migrate(l_chrv_rec, l_okc_k_headers_tl_rec);
8080 migrate(l_chrv_rec, l_chr_rec);
8081 --------------------------------------------
8082 -- Call the DELETE_ROW for each child record
8083 --------------------------------------------
8084 delete_row(
8085 p_init_msg_list,
8086 x_return_status,
8087 x_msg_count,
8088 x_msg_data,
8089 l_okc_k_headers_tl_rec
8090 );
8091 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
8092 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
8093 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
8094 RAISE OKC_API.G_EXCEPTION_ERROR;
8095 END IF;
8096 delete_row(
8097 p_init_msg_list,
8098 x_return_status,
8099 x_msg_count,
8100 x_msg_data,
8101 l_chr_rec
8102 );
8103 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
8104 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
8105 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
8106 RAISE OKC_API.G_EXCEPTION_ERROR;
8107 END IF;
8108 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
8109 IF (l_debug = 'Y') THEN
8110 okc_debug.LOG('22500: Exiting delete_row', 2);
8111 okc_debug.Reset_Indentation;
8112 END IF;
8113
8114
8115 EXCEPTION
8116 WHEN OKC_API.G_EXCEPTION_ERROR THEN
8117
8118 IF (l_debug = 'Y') THEN
8119 okc_debug.LOG('22600: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
8120 okc_debug.Reset_Indentation;
8121 END IF;
8122
8123 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8124 (
8125 l_api_name,
8126 G_PKG_NAME,
8127 'OKC_API.G_RET_STS_ERROR',
8128 x_msg_count,
8129 x_msg_data,
8130 '_PVT'
8131 );
8132 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8133
8134 IF (l_debug = 'Y') THEN
8135 okc_debug.LOG('22700: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
8136 okc_debug.Reset_Indentation;
8137 END IF;
8138
8139 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8140 (
8141 l_api_name,
8142 G_PKG_NAME,
8143 'OKC_API.G_RET_STS_UNEXP_ERROR',
8144 x_msg_count,
8145 x_msg_data,
8146 '_PVT'
8147 );
8148 WHEN OTHERS THEN
8149
8150 IF (l_debug = 'Y') THEN
8151 okc_debug.LOG('22800: Exiting delete_row:OTHERS Exception', 2);
8152 okc_debug.Reset_Indentation;
8153 END IF;
8154
8155 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8156 (
8157 l_api_name,
8158 G_PKG_NAME,
8159 'OTHERS',
8160 x_msg_count,
8161 x_msg_data,
8162 '_PVT'
8163 );
8164
8165 END delete_row;
8166 ----------------------------------------
8167 -- PL/SQL TBL delete_row for:CHRV_TBL --
8168 ----------------------------------------
8169 PROCEDURE delete_row(
8170 p_api_version IN NUMBER,
8171 p_init_msg_list IN VARCHAR2,
8172 x_return_status OUT NOCOPY VARCHAR2,
8173 x_msg_count OUT NOCOPY NUMBER,
8174 x_msg_data OUT NOCOPY VARCHAR2,
8175 p_chrv_tbl IN chrv_tbl_type) IS
8176
8177 l_api_version CONSTANT NUMBER := 1;
8178 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
8179 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8180 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8181 i NUMBER := 0;
8182 l_dummy_val NUMBER;
8183 CURSOR l_clev_csr IS
8184 SELECT COUNT(1)
8185 FROM OKC_K_LINES_B
8186 WHERE chr_id = p_chrv_tbl(i).id;
8187 BEGIN
8188
8189 IF (l_debug = 'Y') THEN
8190 okc_debug.Set_Indentation('OKC_CHR_PVT');
8191 okc_debug.LOG('22900: Entered delete_row', 2);
8192 END IF;
8193
8194 OKC_API.init_msg_list(p_init_msg_list);
8195 -- Make sure PL/SQL table has records in it before passing
8196 IF (p_chrv_tbl.COUNT > 0) THEN
8197 i := p_chrv_tbl.FIRST;
8198 LOOP
8199 /************************ HAND-CODED ***************************/
8200 -- check whether detail records exists
8201 OPEN l_clev_csr;
8202 FETCH l_clev_csr INTO l_dummy_val;
8203 CLOSE l_clev_csr;
8204
8205 -- delete only if there are no detail records
8206 IF (l_dummy_val = 0) THEN
8207 delete_row (
8208 p_api_version => p_api_version,
8209 p_init_msg_list => p_init_msg_list,
8210 x_return_status => x_return_status,
8211 x_msg_count => x_msg_count,
8212 x_msg_data => x_msg_data,
8213 p_chrv_rec => p_chrv_tbl(i));
8214
8215 -- store the highest degree of error
8216 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
8217 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
8218 l_overall_status := x_return_status;
8219 END IF;
8220 END IF;
8221 ELSE
8222 OKC_API.SET_MESSAGE(
8223 p_app_name => g_app_name,
8224 p_msg_name => G_CHILD_RECORD_EXISTS);
8225 -- notify caller of an error
8226 x_return_status := OKC_API.G_RET_STS_ERROR;
8227
8228 -- store the highest degree of error
8229 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
8230 l_overall_status := x_return_status;
8231 END IF;
8232
8233 END IF;
8234 /*********************** END HAND-CODED ************************/
8235
8236 EXIT WHEN (i = p_chrv_tbl.LAST);
8237 i := p_chrv_tbl.NEXT(i);
8238 END LOOP;
8239 -- return overall status
8240 x_return_status := l_overall_status;
8241 END IF;
8242 IF (l_debug = 'Y') THEN
8243 okc_debug.LOG('23000: Exiting delete_row', 2);
8244 okc_debug.Reset_Indentation;
8245 END IF;
8246
8247
8248 EXCEPTION
8249 WHEN OKC_API.G_EXCEPTION_ERROR THEN
8250
8251 IF (l_debug = 'Y') THEN
8252 okc_debug.LOG('23100: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
8253 okc_debug.Reset_Indentation;
8254 END IF;
8255
8256 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8257 (
8258 l_api_name,
8259 G_PKG_NAME,
8260 'OKC_API.G_RET_STS_ERROR',
8261 x_msg_count,
8262 x_msg_data,
8263 '_PVT'
8264 );
8265 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8266
8267 IF (l_debug = 'Y') THEN
8268 okc_debug.LOG('23200: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
8269 okc_debug.Reset_Indentation;
8270 END IF;
8271
8272 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8273 (
8274 l_api_name,
8275 G_PKG_NAME,
8276 'OKC_API.G_RET_STS_UNEXP_ERROR',
8277 x_msg_count,
8278 x_msg_data,
8279 '_PVT'
8280 );
8281 WHEN OTHERS THEN
8282
8283 IF (l_debug = 'Y') THEN
8284 okc_debug.LOG('23300: Exiting delete_row:OTHERS Exception', 2);
8285 okc_debug.Reset_Indentation;
8286 END IF;
8287
8288 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8289 (
8290 l_api_name,
8291 G_PKG_NAME,
8292 'OTHERS',
8293 x_msg_count,
8294 x_msg_data,
8295 '_PVT'
8296 );
8297
8298 END delete_row;
8299
8300 ---------------------------------------------------------------
8301 -- Procedure for mass insert in OKC_K_HEADERS _B and TL tables
8302 ---------------------------------------------------------------
8303 PROCEDURE INSERT_ROW_UPG(x_return_status OUT NOCOPY VARCHAR2, p_chrv_tbl chrv_tbl_type) IS
8304 l_tabsize NUMBER := p_chrv_tbl.COUNT;
8305 l_source_lang VARCHAR2(12) := okc_util.get_userenv_lang;
8306
8307 in_id OKC_DATATYPES.NumberTabTyp;
8308 in_object_version_number OKC_DATATYPES.NumberTabTyp;
8309 in_sfwt_flag OKC_DATATYPES.Var3TabTyp;
8310 in_chr_id_response OKC_DATATYPES.NumberTabTyp;
8311 in_chr_id_award OKC_DATATYPES.NumberTabTyp;
8312 in_inv_organization_id OKC_DATATYPES.NumberTabTyp;
8313 in_sts_code OKC_DATATYPES.Var30TabTyp;
8314 in_qcl_id OKC_DATATYPES.NumberTabTyp;
8315 in_scs_code OKC_DATATYPES.Var30TabTyp;
8316 in_contract_number OKC_DATATYPES.Var120TabTyp;
8317 in_currency_code OKC_DATATYPES.Var15TabTyp;
8318 in_contract_number_modifier OKC_DATATYPES.Var120TabTyp;
8319 in_archived_yn OKC_DATATYPES.Var3TabTyp;
8320 in_deleted_yn OKC_DATATYPES.Var3TabTyp;
8321 in_cust_po_number_req_yn OKC_DATATYPES.Var3TabTyp;
8322 in_pre_pay_req_yn OKC_DATATYPES.Var3TabTyp;
8323 in_cust_po_number OKC_DATATYPES.Var150TabTyp;
8324 in_short_description OKC_DATATYPES.Var600TabTyp;
8325 in_comments OKC_DATATYPES.Var1995TabTyp;
8326 in_description OKC_DATATYPES.Var1995TabTyp;
8327 in_dpas_rating OKC_DATATYPES.Var24TabTyp;
8328 in_cognomen OKC_DATATYPES.Var300TabTyp;
8329 in_template_yn OKC_DATATYPES.Var3TabTyp;
8330 in_template_used OKC_DATATYPES.Var120TabTyp;
8331 in_date_approved OKC_DATATYPES.DateTabTyp;
8332 in_datetime_cancelled OKC_DATATYPES.DateTabTyp;
8333 in_auto_renew_days OKC_DATATYPES.NumberTabTyp;
8334 in_date_issued OKC_DATATYPES.DateTabTyp;
8335 in_datetime_responded OKC_DATATYPES.DateTabTyp;
8336 in_non_response_reason OKC_DATATYPES.Var3TabTyp;
8337 in_non_response_explain OKC_DATATYPES.Var1995TabTyp;
8338 in_rfp_type OKC_DATATYPES.Var30TabTyp;
8339 in_chr_type OKC_DATATYPES.Var30TabTyp;
8340 in_keep_on_mail_list OKC_DATATYPES.Var3TabTyp;
8341 in_set_aside_reason OKC_DATATYPES.Var3TabTyp;
8342 in_set_aside_percent OKC_DATATYPES.NumberTabTyp;
8343 in_response_copies_req OKC_DATATYPES.NumberTabTyp;
8344 in_date_close_projected OKC_DATATYPES.DateTabTyp;
8345 in_datetime_proposed OKC_DATATYPES.DateTabTyp;
8346 in_date_signed OKC_DATATYPES.DateTabTyp;
8347 in_date_terminated OKC_DATATYPES.DateTabTyp;
8348 in_date_renewed OKC_DATATYPES.DateTabTyp;
8349 in_trn_code OKC_DATATYPES.Var30TabTyp;
8350 in_start_date OKC_DATATYPES.DateTabTyp;
8351 in_end_date OKC_DATATYPES.DateTabTyp;
8352 in_authoring_org_id OKC_DATATYPES.NumberTabTyp;
8353 in_org_id OKC_DATATYPES.NumberTabTyp; --mmadhavi added for MOAC
8354 in_buy_or_sell OKC_DATATYPES.Var3TabTyp;
8355 in_issue_or_receive OKC_DATATYPES.Var3TabTyp;
8356 in_estimated_amount OKC_DATATYPES.NumberTabTyp;
8357 in_estimated_amount_renewed OKC_DATATYPES.NumberTabTyp;
8358 in_currency_code_renewed OKC_DATATYPES.Var15TabTyp;
8359 in_upg_orig_system_ref OKC_DATATYPES.Var75TabTyp;
8360 in_upg_orig_system_ref_id OKC_DATATYPES.NumberTabTyp;
8361 in_application_id OKC_DATATYPES.NumberTabTyp;
8362 in_orig_system_source_code OKC_DATATYPES.Var30TabTyp;
8363 in_orig_system_id1 OKC_DATATYPES.NumberTabTyp;
8364 in_orig_system_reference1 OKC_DATATYPES.Var30TabTyp;
8365 in_program_id OKC_DATATYPES.NumberTabTyp;
8366 in_request_id OKC_DATATYPES.NumberTabTyp;
8367 in_program_update_date OKC_DATATYPES.DateTabTyp;
8368 in_program_application_id OKC_DATATYPES.NumberTabTyp;
8369 in_price_list_id OKC_DATATYPES.NumberTabTyp;
8370 in_pricing_date OKC_DATATYPES.DateTabTyp;
8371 in_sign_by_date OKC_DATATYPES.DateTabTyp;
8372 in_total_line_list_price OKC_DATATYPES.NumberTabTyp;
8373 in_user_estimated_amount OKC_DATATYPES.NumberTabTyp;
8374 in_governing_contract_yn OKC_DATATYPES.Var3TabTyp;
8375 --new columns to replace rules
8376 in_conversion_type OKC_DATATYPES.Var30TabTyp;
8377 in_conversion_rate OKC_DATATYPES.NumberTabTyp;
8378 in_conversion_rate_date OKC_DATATYPES.DateTabTyp;
8379 in_conversion_euro_rate OKC_DATATYPES.NumberTabTyp;
8380 in_cust_acct_id OKC_DATATYPES.Number15TabTyp;
8381 in_bill_to_site_use_id OKC_DATATYPES.Number15TabTyp;
8382 in_inv_rule_id OKC_DATATYPES.Number15TabTyp;
8383 in_renewal_type_code OKC_DATATYPES.Var30TabTyp;
8384 in_renewal_notify_to OKC_DATATYPES.NumberTabTyp;
8385 in_renewal_end_date OKC_DATATYPES.DateTabTyp;
8386 in_ship_to_site_use_id OKC_DATATYPES.Number15TabTyp;
8387 in_payment_term_id OKC_DATATYPES.Number15TabTyp;
8388 --
8389 in_attribute_category OKC_DATATYPES.Var90TabTyp;
8390 in_attribute1 OKC_DATATYPES.Var450TabTyp;
8391 in_attribute2 OKC_DATATYPES.Var450TabTyp;
8392 in_attribute3 OKC_DATATYPES.Var450TabTyp;
8393 in_attribute4 OKC_DATATYPES.Var450TabTyp;
8394 in_attribute5 OKC_DATATYPES.Var450TabTyp;
8395 in_attribute6 OKC_DATATYPES.Var450TabTyp;
8396 in_attribute7 OKC_DATATYPES.Var450TabTyp;
8397 in_attribute8 OKC_DATATYPES.Var450TabTyp;
8398 in_attribute9 OKC_DATATYPES.Var450TabTyp;
8399 in_attribute10 OKC_DATATYPES.Var450TabTyp;
8400 in_attribute11 OKC_DATATYPES.Var450TabTyp;
8401 in_attribute12 OKC_DATATYPES.Var450TabTyp;
8402 in_attribute13 OKC_DATATYPES.Var450TabTyp;
8403 in_attribute14 OKC_DATATYPES.Var450TabTyp;
8404 in_attribute15 OKC_DATATYPES.Var450TabTyp;
8405 in_created_by OKC_DATATYPES.NumberTabTyp;
8406 in_creation_date OKC_DATATYPES.DateTabTyp;
8407 in_last_updated_by OKC_DATATYPES.NumberTabTyp;
8408 in_last_update_date OKC_DATATYPES.DateTabTyp;
8409 in_last_update_login OKC_DATATYPES.NumberTabTyp;
8410 -- GCHADHA --
8411 -- BUG 3941485 --
8412 in_document_id OKC_DATATYPES.NumberTabTyp;
8413 -- END GCHADHA --
8414 -- R12 Data Model Changes 4485150 Start
8415 in_approval_type OKC_DATATYPES.Var450TabTyp;
8416 in_term_cancel_source OKC_DATATYPES.Var450TabTyp;
8417 in_payment_instruction_type OKC_DATATYPES.Var450TabTyp;
8418 -- R12 Data Model Changes 4485150 End
8419
8420 i NUMBER := p_chrv_tbl.FIRST;
8421 j NUMBER := 0;
8422
8423 BEGIN
8424 --Initializing return status
8425 x_return_status := OKC_API.G_RET_STS_SUCCESS;
8426 IF (l_debug = 'Y') THEN
8427 okc_debug.Set_Indentation('OKC_CHR_PVT');
8428 okc_debug.LOG('23400: Entered INSERT_ROW_UPG', 2);
8429 END IF;
8430
8431
8432 -- pkoganti 08/26/2000
8433 -- replace for loop with while loop to handle
8434 -- gaps in pl/sql table indexes.
8435 -- Example:
8436 -- consider a pl/sql table(A) with the following elements
8437 -- A(1) = 10
8438 -- A(2) = 20
8439 -- A(6) = 30
8440 -- A(7) = 40
8441 --
8442 -- The for loop was erroring for indexes 3,4,5, the while loop
8443 -- along with the NEXT operator would handle the missing indexes
8444 -- with out causing the API to fail.
8445 --
8446 WHILE i IS NOT NULL
8447 LOOP
8448
8449 j := j + 1;
8450
8451 in_id (j) := p_chrv_tbl(i).id;
8452 -- GCHADHA --
8453 -- 3941485 --
8454 in_document_id (j) := p_chrv_tbl(i).document_id;
8455 -- END GCHADHA --
8456 in_object_version_number (j) := p_chrv_tbl(i).object_version_number;
8457 in_sfwt_flag (j) := p_chrv_tbl(i).sfwt_flag;
8458 in_chr_id_response (j) := p_chrv_tbl(i).chr_id_response;
8459 in_chr_id_award (j) := p_chrv_tbl(i).chr_id_award;
8460 in_inv_organization_id (j) := p_chrv_tbl(i).inv_organization_id;
8461 in_sts_code (j) := p_chrv_tbl(i).sts_code;
8462 in_qcl_id (j) := p_chrv_tbl(i).qcl_id;
8463 in_scs_code (j) := p_chrv_tbl(i).scs_code;
8464 in_contract_number (j) := p_chrv_tbl(i).contract_number;
8465 in_currency_code (j) := p_chrv_tbl(i).currency_code;
8466 in_contract_number_modifier (j) := p_chrv_tbl(i).contract_number_modifier;
8467 in_archived_yn (j) := p_chrv_tbl(i).archived_yn;
8468 in_deleted_yn (j) := p_chrv_tbl(i).deleted_yn;
8469 in_cust_po_number_req_yn (j) := p_chrv_tbl(i).cust_po_number_req_yn;
8470 in_pre_pay_req_yn (j) := p_chrv_tbl(i).pre_pay_req_yn;
8471 in_cust_po_number (j) := p_chrv_tbl(i).cust_po_number;
8472 in_short_description (j) := p_chrv_tbl(i).short_description;
8473 in_comments (j) := p_chrv_tbl(i).comments;
8474 in_description (j) := p_chrv_tbl(i).description;
8475 in_dpas_rating (j) := p_chrv_tbl(i).dpas_rating;
8476 in_cognomen (j) := p_chrv_tbl(i).cognomen;
8477 in_template_yn (j) := p_chrv_tbl(i).template_yn;
8478 in_template_used (j) := p_chrv_tbl(i).template_used;
8479 in_date_approved (j) := p_chrv_tbl(i).date_approved;
8480 in_datetime_cancelled (j) := p_chrv_tbl(i).datetime_cancelled;
8481 in_auto_renew_days (j) := p_chrv_tbl(i).auto_renew_days;
8482 in_date_issued (j) := p_chrv_tbl(i).date_issued;
8483 in_datetime_responded (j) := p_chrv_tbl(i).datetime_responded;
8484 in_non_response_reason (j) := p_chrv_tbl(i).non_response_reason;
8485 in_non_response_explain (j) := p_chrv_tbl(i).non_response_explain;
8486 in_rfp_type (j) := p_chrv_tbl(i).rfp_type;
8487 in_chr_type (j) := p_chrv_tbl(i).chr_type;
8488 in_keep_on_mail_list (j) := p_chrv_tbl(i).keep_on_mail_list;
8489 in_set_aside_reason (j) := p_chrv_tbl(i).set_aside_reason;
8490 in_set_aside_percent (j) := p_chrv_tbl(i).set_aside_percent;
8491 in_response_copies_req (j) := p_chrv_tbl(i).response_copies_req;
8492 in_date_close_projected (j) := p_chrv_tbl(i).date_close_projected;
8493 in_datetime_proposed (j) := p_chrv_tbl(i).datetime_proposed;
8494 in_date_signed (j) := p_chrv_tbl(i).date_signed;
8495 in_date_terminated (j) := p_chrv_tbl(i).date_terminated;
8496 in_date_renewed (j) := p_chrv_tbl(i).date_renewed;
8497 in_trn_code (j) := p_chrv_tbl(i).trn_code;
8498 in_start_date (j) := p_chrv_tbl(i).start_date;
8499 in_end_date (j) := p_chrv_tbl(i).end_date;
8500 in_authoring_org_id (j) := p_chrv_tbl(i).authoring_org_id;
8501 in_org_id (j) := p_chrv_tbl(i).org_id; --mmadhavi added for MOAC
8502 in_buy_or_sell (j) := p_chrv_tbl(i).buy_or_sell;
8503 in_issue_or_receive (j) := p_chrv_tbl(i).issue_or_receive;
8504 in_estimated_amount (j) := p_chrv_tbl(i).estimated_amount;
8505 in_estimated_amount_renewed (j) := p_chrv_tbl(i).estimated_amount_renewed;
8506 in_currency_code_renewed (j) := p_chrv_tbl(i).currency_code_renewed;
8507 in_upg_orig_system_ref (j) := p_chrv_tbl(i).upg_orig_system_ref;
8508 in_upg_orig_system_ref_id (j) := p_chrv_tbl(i).upg_orig_system_ref_id;
8509 in_application_id (j) := p_chrv_tbl(i).application_id;
8510 in_orig_system_source_code (j) := p_chrv_tbl(i).orig_system_source_code;
8511 in_orig_system_id1 (j) := p_chrv_tbl(i).orig_system_id1;
8512 in_orig_system_reference1 (j) := p_chrv_tbl(i).orig_system_reference1;
8513 in_program_id (j) := p_chrv_tbl(i). program_id;
8514 in_request_id (j) := p_chrv_tbl(i).request_id;
8515 in_program_update_date (j) := p_chrv_tbl(i).program_update_date;
8516 in_program_application_id (j) := p_chrv_tbl(i).program_application_id;
8517 in_price_list_id (j) := p_chrv_tbl(i).price_list_id;
8518 in_pricing_date (j) := p_chrv_tbl(i).pricing_date;
8519 in_sign_by_date (j) := p_chrv_tbl(i).sign_by_date;
8520 in_total_line_list_price (j) := p_chrv_tbl(i).total_line_list_price;
8521 in_user_estimated_amount (j) := p_chrv_tbl(i).user_estimated_amount;
8522 in_governing_contract_yn (j) := p_chrv_tbl(i).governing_contract_yn;
8523 in_attribute_category (j) := p_chrv_tbl(i).attribute_category;
8524 in_attribute1 (j) := p_chrv_tbl(i).attribute1;
8525 in_attribute2 (j) := p_chrv_tbl(i).attribute2;
8526 in_attribute3 (j) := p_chrv_tbl(i).attribute3;
8527 in_attribute4 (j) := p_chrv_tbl(i).attribute4;
8528 in_attribute5 (j) := p_chrv_tbl(i).attribute5;
8529 in_attribute6 (j) := p_chrv_tbl(i).attribute6;
8530 in_attribute7 (j) := p_chrv_tbl(i).attribute7;
8531 in_attribute8 (j) := p_chrv_tbl(i).attribute8;
8532 in_attribute9 (j) := p_chrv_tbl(i).attribute9;
8533 in_attribute10 (j) := p_chrv_tbl(i).attribute10;
8534 in_attribute11 (j) := p_chrv_tbl(i).attribute11;
8535 in_attribute12 (j) := p_chrv_tbl(i).attribute12;
8536 in_attribute13 (j) := p_chrv_tbl(i).attribute13;
8537 in_attribute14 (j) := p_chrv_tbl(i).attribute14;
8538 in_attribute15 (j) := p_chrv_tbl(i).attribute15;
8539 in_created_by (j) := p_chrv_tbl(i).created_by;
8540 in_creation_date (j) := p_chrv_tbl(i).creation_date;
8541 in_last_updated_by (j) := p_chrv_tbl(i).last_updated_by;
8542 in_last_update_date (j) := p_chrv_tbl(i).last_update_date;
8543 in_last_update_login (j) := p_chrv_tbl(i).last_update_login;
8544 --new columns to replace rules
8545 in_conversion_type (j) := p_chrv_tbl(i).conversion_type;
8546 in_conversion_rate (j) := p_chrv_tbl(i).conversion_rate;
8547 in_conversion_rate_date (j) := p_chrv_tbl(i).conversion_rate_date;
8548 in_conversion_euro_rate (j) := p_chrv_tbl(i).conversion_euro_rate;
8549 in_cust_acct_id (j) := p_chrv_tbl(i).cust_acct_id;
8550 in_bill_to_site_use_id (j) := p_chrv_tbl(i).bill_to_site_use_id;
8551 in_inv_rule_id (j) := p_chrv_tbl(i).inv_rule_id;
8552 in_renewal_type_code (j) := p_chrv_tbl(i).renewal_type_code;
8553 in_renewal_notify_to (j) := p_chrv_tbl(i).renewal_notify_to;
8554 in_renewal_end_date (j) := p_chrv_tbl(i).renewal_end_date;
8555 in_ship_to_site_use_id (j) := p_chrv_tbl(i).ship_to_site_use_id;
8556 in_payment_term_id (j) := p_chrv_tbl(i).payment_term_id;
8557 -- R12 Data Model Changes 4485150 End
8558 in_approval_type (j) := p_chrv_tbl(i).approval_type ;
8559 in_term_cancel_source (j) := p_chrv_tbl(i).term_cancel_source ;
8560 in_payment_instruction_type (j) := p_chrv_tbl(i).payment_instruction_type;
8561 -- R12 Data Model Changes 4485150 End
8562 i := p_chrv_tbl.NEXT(i);
8563 END LOOP;
8564
8565 FORALL i IN 1..l_tabsize
8566 INSERT
8567 INTO OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
8568 (
8569 id,
8570 -- GCHADHA --
8571 -- BUG 3941485 --
8572 document_id,
8573 -- END GCHADHA --
8574 contract_number,
8575 authoring_org_id,
8576 org_id, --mmadhavi added for MOAC
8577 contract_number_modifier,
8578 chr_id_response,
8579 chr_id_award,
8580 sts_code,
8581 qcl_id,
8582 scs_code,
8583 trn_code,
8584 currency_code,
8585 archived_yn,
8586 deleted_yn,
8587 template_yn,
8588 chr_type,
8589 object_version_number,
8590 created_by,
8591 creation_date,
8592 last_updated_by,
8593 last_update_date,
8594 cust_po_number_req_yn,
8595 pre_pay_req_yn,
8596 cust_po_number,
8597 dpas_rating,
8598 template_used,
8599 date_approved,
8600 datetime_cancelled,
8601 auto_renew_days,
8602 date_issued,
8603 datetime_responded,
8604 rfp_type,
8605 keep_on_mail_list,
8606 set_aside_percent,
8607 response_copies_req,
8608 date_close_projected,
8609 datetime_proposed,
8610 date_signed,
8611 date_terminated,
8612 date_renewed,
8613 start_date,
8614 end_date,
8615 buy_or_sell,
8616 issue_or_receive,
8617 last_update_login,
8618 upg_orig_system_ref,
8619 upg_orig_system_ref_id,
8620 application_id,
8621 orig_system_source_code,
8622 orig_system_id1,
8623 orig_system_reference1,
8624 program_id,
8625 request_id,
8626 program_update_date,
8627 program_application_id,
8628 price_list_id,
8629 pricing_date,
8630 sign_by_date,
8631 total_line_list_price,
8632 user_estimated_amount,
8633 governing_contract_yn,
8634 attribute_category,
8635 attribute1,
8636 attribute2,
8637 attribute3,
8638 attribute4,
8639 attribute5,
8640 attribute6,
8641 attribute7,
8642 attribute8,
8643 attribute9,
8644 attribute10,
8645 attribute11,
8646 attribute12,
8647 attribute13,
8648 attribute14,
8649 attribute15,
8650 estimated_amount,
8651 inv_organization_id,
8652 estimated_amount_renewed,
8653 currency_code_renewed,
8654 -- new columns to replace rules
8655 conversion_type,
8656 conversion_rate,
8657 conversion_rate_date,
8658 conversion_euro_rate,
8659 cust_acct_id,
8660 bill_to_site_use_id,
8661 inv_rule_id,
8662 renewal_type_code,
8663 renewal_notify_to,
8664 renewal_end_date,
8665 ship_to_site_use_id,
8666 payment_term_id,
8667 -- R12 Data Model Changes 4485150 End
8668 approval_type,
8669 term_cancel_source,
8670 payment_instruction_type
8671 -- R12 Data Model Changes 4485150 End
8672 )
8673 VALUES (
8674 in_id(i),
8675 -- GCHADHA --
8676 -- 3941485 --
8677 in_document_id(i),
8678 -- END GCHADHA --
8679 in_contract_number(i),
8680 in_authoring_org_id(i),
8681 in_org_id(i), --mmadhavi added for MOAC
8682 in_contract_number_modifier(i),
8683 in_chr_id_response(i),
8684 in_chr_id_award(i),
8685 in_sts_code(i),
8686 in_qcl_id(i),
8687 in_scs_code(i),
8688 in_trn_code(i),
8689 in_currency_code(i),
8690 in_archived_yn(i),
8691 in_deleted_yn(i),
8692 in_template_yn(i),
8693 in_chr_type(i),
8694 in_object_version_number(i),
8695 in_created_by(i),
8696 in_creation_date(i),
8697 in_last_updated_by(i),
8698 in_last_update_date(i),
8699 in_cust_po_number_req_yn(i),
8700 in_pre_pay_req_yn(i),
8701 in_cust_po_number(i),
8702 in_dpas_rating(i),
8703 in_template_used(i),
8704 in_date_approved(i),
8705 in_datetime_cancelled(i),
8706 in_auto_renew_days(i),
8707 in_date_issued(i),
8708 in_datetime_responded(i),
8709 in_rfp_type(i),
8710 in_keep_on_mail_list(i),
8711 in_set_aside_percent(i),
8712 in_response_copies_req(i),
8713 in_date_close_projected(i),
8714 in_datetime_proposed(i),
8715 in_date_signed(i),
8716 in_date_terminated(i),
8717 in_date_renewed(i),
8718 in_start_date(i),
8719 in_end_date(i),
8720 in_buy_or_sell(i),
8721 in_issue_or_receive(i),
8722 in_last_update_login(i),
8723 in_upg_orig_system_ref(i),
8724 in_upg_orig_system_ref_id(i),
8725 in_application_id(i),
8726 in_orig_system_source_code(i),
8727 in_orig_system_id1(i),
8728 in_orig_system_reference1(i),
8729 in_program_id(i),
8730 in_request_id(i),
8731 in_program_update_date(i),
8732 in_program_application_id(i),
8733 in_price_list_id(i),
8734 in_pricing_date(i),
8735 in_sign_by_date(i),
8736 in_total_line_list_price(i),
8737 in_user_estimated_amount(i),
8738 in_governing_contract_yn(i),
8739 in_attribute_category(i),
8740 in_attribute1(i),
8741 in_attribute2(i),
8742 in_attribute3(i),
8743 in_attribute4(i),
8744 in_attribute5(i),
8745 in_attribute6(i),
8746 in_attribute7(i),
8747 in_attribute8(i),
8748 in_attribute9(i),
8749 in_attribute10(i),
8750 in_attribute11(i),
8751 in_attribute12(i),
8752 in_attribute13(i),
8753 in_attribute14(i),
8754 in_attribute15(i),
8755 in_estimated_amount(i),
8756 in_inv_organization_id(i),
8757 in_estimated_amount_renewed(i),
8758 in_currency_code_renewed(i),
8759 --new columns to replace rules
8760 in_conversion_type(i),
8761 in_conversion_rate(i),
8762 in_conversion_rate_date(i),
8763 in_conversion_euro_rate(i),
8764 in_cust_acct_id(i),
8765 in_bill_to_site_use_id(i),
8766 in_inv_rule_id(i),
8767 in_renewal_type_code(i),
8768 in_renewal_notify_to(i),
8769 in_renewal_end_date(i),
8770 in_ship_to_site_use_id(i),
8771 in_payment_term_id(i),
8772 -- R12 Data Model Changes 4485150 End
8773 in_approval_type(i),
8774 in_term_cancel_source(i),
8775 in_payment_instruction_type(i)
8776 -- R12 Data Model Changes 4485150 End
8777 );
8778
8779 FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST LOOP
8780 FORALL i IN 1..l_tabsize
8781 INSERT INTO OKC_K_HEADERS_TL(
8782 id,
8783 language,
8784 source_lang,
8785 sfwt_flag,
8786 short_description,
8787 comments,
8788 description,
8789 cognomen,
8790 non_response_reason,
8791 non_response_explain,
8792 set_aside_reason,
8793 created_by,
8794 creation_date,
8795 last_updated_by,
8796 last_update_date,
8797 last_update_login
8798 )
8799 VALUES (
8800 in_id(i),
8801 OKC_UTIL.g_language_code(lang_i),
8802 l_source_lang,
8803 in_sfwt_flag(i),
8804 in_short_description(i),
8805 in_comments(i),
8806 in_description(i),
8807 in_cognomen(i),
8808 in_non_response_reason(i),
8809 in_non_response_explain(i),
8810 in_set_aside_reason(i),
8811 in_created_by(i),
8812 in_creation_date(i),
8813 in_last_updated_by(i),
8814 in_last_update_date(i),
8815 in_last_update_login(i)
8816 );
8817 END LOOP;
8818
8819 -- Insert version numbers
8820 FORALL i IN 1..l_tabsize
8821 INSERT
8822 INTO OKC_K_VERS_NUMBERS
8823 (
8824 chr_id,
8825 major_version,
8826 minor_version,
8827 object_version_number,
8828 created_by,
8829 creation_date,
8830 last_updated_by,
8831 last_update_date,
8832 last_update_login
8833 )
8834 VALUES (
8835 in_id(i),
8836 0,
8837 0,
8838 in_object_version_number(i),
8839 in_created_by(i),
8840 in_creation_date(i),
8841 in_last_updated_by(i),
8842 in_last_update_date(i),
8843 in_last_update_login(i)
8844 );
8845
8846 IF (l_debug = 'Y') THEN
8847 okc_debug.LOG('23500: Exiting INSERT_ROW_UPG', 2);
8848 okc_debug.Reset_Indentation;
8849 END IF;
8850
8851
8852 EXCEPTION
8853 WHEN OTHERS THEN
8854
8855 IF (l_debug = 'Y') THEN
8856 okc_debug.LOG('23600: Exiting INSERT_ROW_UPG:OTHERS Exception', 2);
8857 okc_debug.Reset_Indentation;
8858 END IF;
8859 -- Store SQL error message on message stack
8860 OKC_API.SET_MESSAGE(
8861 p_app_name => G_APP_NAME,
8862 p_msg_name => G_UNEXPECTED_ERROR,
8863 p_token1 => G_SQLCODE_TOKEN,
8864 p_token1_value => SQLCODE,
8865 p_token2 => G_SQLERRM_TOKEN,
8866 p_token2_value => SQLERRM);
8867 -- notify caller of an error as UNEXPETED error
8868 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
8869
8870 -- RAISE;
8871
8872 END INSERT_ROW_UPG;
8873
8874 --This function is called from versioning API OKC_VERSION_PVT
8875 --Old Location: OKCRVERB.pls
8876 --New Location: Base Table API
8877
8878 FUNCTION create_version(
8879 p_chr_id IN NUMBER,
8880 p_major_version IN NUMBER
8881 ) RETURN VARCHAR2 IS
8882
8883 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8884
8885 BEGIN
8886
8887 IF (l_debug = 'Y') THEN
8888 okc_debug.Set_Indentation('OKC_CHR_PVT');
8889 okc_debug.LOG('23700: Entered create_version', 2);
8890 END IF;
8891
8892 INSERT INTO okc_k_headers_all_bh --mmadhavi changed to _ALL for MOAC
8893 (
8894 major_version,
8895 id,
8896 contract_number,
8897 authoring_org_id,
8898 org_id, --mmadhavi added for MOAC
8899 contract_number_modifier,
8900 chr_id_response,
8901 chr_id_award,
8902 sts_code,
8903 qcl_id,
8904 scs_code,
8905 trn_code,
8906 currency_code,
8907 archived_yn,
8908 deleted_yn,
8909 template_yn,
8910 chr_type,
8911 object_version_number,
8912 created_by,
8913 creation_date,
8914 last_updated_by,
8915 last_update_date,
8916 cust_po_number_req_yn,
8917 pre_pay_req_yn,
8918 cust_po_number,
8919 dpas_rating,
8920 template_used,
8921 date_approved,
8922 datetime_cancelled,
8923 auto_renew_days,
8924 date_issued,
8925 datetime_responded,
8926 rfp_type,
8927 keep_on_mail_list,
8928 set_aside_percent,
8929 response_copies_req,
8930 date_close_projected,
8931 datetime_proposed,
8932 date_signed,
8933 date_terminated,
8934 date_renewed,
8935 start_date,
8936 end_date,
8937 buy_or_sell,
8938 issue_or_receive,
8939 last_update_login,
8940 application_id,
8941 orig_system_source_code,
8942 orig_system_id1,
8943 orig_system_reference1,
8944 upg_orig_system_ref,
8945 upg_orig_system_ref_id,
8946 program_id,
8947 request_id,
8948 program_update_date,
8949 program_application_id,
8950 price_list_id,
8951 pricing_date,
8952 sign_by_date,
8953 total_line_list_price,
8954 user_estimated_amount,
8955 governing_contract_yn,
8956 attribute_category,
8957 attribute1,
8958 attribute2,
8959 attribute3,
8960 attribute4,
8961 attribute5,
8962 attribute6,
8963 attribute7,
8964 attribute8,
8965 attribute9,
8966 attribute10,
8967 attribute11,
8968 attribute12,
8969 attribute13,
8970 attribute14,
8971 attribute15,
8972 estimated_amount,
8973 inv_organization_id,
8974 currency_code_renewed,
8975 estimated_amount_renewed,
8976 -- new columns to replace rules
8977 conversion_type,
8978 conversion_rate,
8979 conversion_rate_date,
8980 conversion_euro_rate,
8981 cust_acct_id,
8982 bill_to_site_use_id,
8983 inv_rule_id,
8984 renewal_type_code,
8985 renewal_notify_to,
8986 renewal_end_date,
8987 ship_to_site_use_id,
8988 payment_term_id,
8989 document_id,
8990 -- R12 Data Model Changes 4485150 End
8991 approval_type,
8992 term_cancel_source,
8993 payment_instruction_type,
8994 -- R12 Data Model Changes 4485150 End
8995 cancelled_amount -- LLC
8996 )
8997 SELECT
8998 p_major_version,
8999 id,
9000 contract_number,
9001 authoring_org_id,
9002 org_id, --mmadhavi added for MOAC
9003 contract_number_modifier,
9004 chr_id_response,
9005 chr_id_award,
9006 sts_code,
9007 qcl_id,
9008 scs_code,
9009 trn_code,
9010 currency_code,
9011 archived_yn,
9012 deleted_yn,
9013 template_yn,
9014 chr_type,
9015 object_version_number,
9016 created_by,
9017 creation_date,
9018 last_updated_by,
9019 last_update_date,
9020 cust_po_number_req_yn,
9021 pre_pay_req_yn,
9022 cust_po_number,
9023 dpas_rating,
9024 template_used,
9025 date_approved,
9026 datetime_cancelled,
9027 auto_renew_days,
9028 date_issued,
9029 datetime_responded,
9030 rfp_type,
9031 keep_on_mail_list,
9032 set_aside_percent,
9033 response_copies_req,
9034 date_close_projected,
9035 datetime_proposed,
9036 date_signed,
9037 date_terminated,
9038 date_renewed,
9039 start_date,
9040 end_date,
9041 buy_or_sell,
9042 issue_or_receive,
9043 last_update_login,
9044 application_id,
9045 orig_system_source_code,
9046 orig_system_id1,
9047 orig_system_reference1,
9048 upg_orig_system_ref,
9049 upg_orig_system_ref_id,
9050 program_id,
9051 request_id,
9052 program_update_date,
9053 program_application_id,
9054 price_list_id,
9055 pricing_date,
9056 sign_by_date,
9057 total_line_list_price,
9058 user_estimated_amount,
9059 governing_contract_yn,
9060 attribute_category,
9061 attribute1,
9062 attribute2,
9063 attribute3,
9064 attribute4,
9065 attribute5,
9066 attribute6,
9067 attribute7,
9068 attribute8,
9069 attribute9,
9070 attribute10,
9071 attribute11,
9072 attribute12,
9073 attribute13,
9074 attribute14,
9075 attribute15,
9076 estimated_amount,
9077 inv_organization_id,
9078 currency_code_renewed,
9079 estimated_amount_renewed,
9080 -- new columns to replace rules
9081 conversion_type,
9082 conversion_rate,
9083 conversion_rate_date,
9084 conversion_euro_rate,
9085 cust_acct_id,
9086 bill_to_site_use_id,
9087 inv_rule_id,
9088 renewal_type_code,
9089 renewal_notify_to,
9090 renewal_end_date,
9091 ship_to_site_use_id,
9092 payment_term_id,
9093 document_id,
9094 -- R12 Data Model Changes 4485150 Start
9095 approval_type,
9096 term_cancel_source,
9097 payment_instruction_type,
9098 cancelled_amount -- LLC
9099 -- R12 Data Model Changes 4485150 End
9100 FROM okc_k_headers_all_b --mamdhavi changed to _ALL for MOAC
9101 WHERE id = p_chr_id;
9102
9103 --------------------------------
9104 -- Versioning TL Table
9105 --------------------------------
9106
9107 INSERT INTO okc_k_headers_tlh
9108 (
9109 major_version,
9110 id,
9111 language,
9112 source_lang,
9113 sfwt_flag,
9114 short_description,
9115 comments,
9116 description,
9117 cognomen,
9118 non_response_reason,
9119 non_response_explain,
9120 set_aside_reason,
9121 created_by,
9122 creation_date,
9123 last_updated_by,
9124 last_update_date,
9125 last_update_login
9126 )
9127 SELECT
9128 p_major_version,
9129 id,
9130 language,
9131 source_lang,
9132 sfwt_flag,
9133 short_description,
9134 comments,
9135 description,
9136 cognomen,
9137 non_response_reason,
9138 non_response_explain,
9139 set_aside_reason,
9140 created_by,
9141 creation_date,
9142 last_updated_by,
9143 last_update_date,
9144 last_update_login
9145 FROM okc_k_headers_tl
9146 WHERE id = p_chr_id;
9147
9148 RETURN l_return_status;
9149 IF (l_debug = 'Y') THEN
9150 okc_debug.LOG('23800: Exiting create_version', 2);
9151 okc_debug.Reset_Indentation;
9152 END IF;
9153
9154
9155 EXCEPTION
9156 -- other appropriate handlers
9157 WHEN OTHERS THEN
9158
9159 IF (l_debug = 'Y') THEN
9160 okc_debug.LOG('23900: Exiting create_version:OTHERS Exception', 2);
9161 okc_debug.Reset_Indentation;
9162 END IF;
9163
9164 -- store SQL error message on message stack
9165 OKC_API.SET_MESSAGE(p_app_name => okc_version_pvt.G_APP_NAME,
9166 p_msg_name => okc_version_pvt.G_UNEXPECTED_ERROR,
9167 p_token1 => okc_version_pvt.G_SQLCODE_TOKEN,
9168 p_token1_value => SQLCODE,
9169 p_token2 => okc_version_pvt.G_SQLERRM_TOKEN,
9170 p_token2_value => SQLERRM);
9171
9172 -- notify UNEXPECTED error
9173 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
9174 RETURN l_return_status;
9175
9176 END create_version;
9177
9178 --This Function is called from Versioning API OKC_VERSION_PVT
9179 --Old Location:OKCRVERB.pls
9180 --New Location:Base Table API
9181
9182
9183 FUNCTION restore_version(
9184 p_chr_id IN NUMBER,
9185 p_major_version IN NUMBER
9186 ) RETURN VARCHAR2 IS
9187
9188 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
9189
9190 BEGIN
9191
9192 IF (l_debug = 'Y') THEN
9193 okc_debug.Set_Indentation('OKC_CHR_PVT');
9194 okc_debug.LOG('24000: Entered restore_version', 2);
9195 END IF;
9196
9197 INSERT INTO okc_k_headers_tl
9198 (
9199 id,
9200 language,
9201 source_lang,
9202 sfwt_flag,
9203 short_description,
9204 comments,
9205 description,
9206 cognomen,
9207 non_response_reason,
9208 non_response_explain,
9209 set_aside_reason,
9210 created_by,
9211 creation_date,
9212 last_updated_by,
9213 last_update_date,
9214 last_update_login
9215 )
9216 SELECT
9217 id,
9218 language,
9219 source_lang,
9220 sfwt_flag,
9221 short_description,
9222 comments,
9223 description,
9224 cognomen,
9225 non_response_reason,
9226 non_response_explain,
9227 set_aside_reason,
9228 created_by,
9229 creation_date,
9230 last_updated_by,
9231 last_update_date,
9232 last_update_login
9233 FROM okc_k_headers_tlh
9234 WHERE id = p_chr_id
9235 AND major_version = p_major_version;
9236
9237 --------------------------------------
9238 -- Restore Base Table
9239 --------------------------------------
9240
9241 INSERT INTO okc_k_headers_all_b --mmadhavi changed to _ALL for MOAC
9242 (
9243 id,
9244 contract_number,
9245 authoring_org_id,
9246 org_id, --mmadhavi added for MOAC
9247 contract_number_modifier,
9248 chr_id_response,
9249 chr_id_award,
9250 sts_code,
9251 qcl_id,
9252 scs_code,
9253 trn_code,
9254 currency_code,
9255 archived_yn,
9256 deleted_yn,
9257 template_yn,
9258 chr_type,
9259 object_version_number,
9260 created_by,
9261 creation_date,
9262 last_updated_by,
9263 last_update_date,
9264 cust_po_number_req_yn,
9265 pre_pay_req_yn,
9266 cust_po_number,
9267 dpas_rating,
9268 template_used,
9269 date_approved,
9270 datetime_cancelled,
9271 auto_renew_days,
9272 date_issued,
9273 datetime_responded,
9274 rfp_type,
9275 keep_on_mail_list,
9276 set_aside_percent,
9277 response_copies_req,
9278 date_close_projected,
9279 datetime_proposed,
9280 date_signed,
9281 date_terminated,
9282 date_renewed,
9283 start_date,
9284 end_date,
9285 buy_or_sell,
9286 issue_or_receive,
9287 last_update_login,
9288 application_id,
9289 orig_system_source_code,
9290 orig_system_id1,
9291 orig_system_reference1,
9292 upg_orig_system_ref,
9293 upg_orig_system_ref_id,
9294 program_id,
9295 request_id,
9296 program_update_date,
9297 program_application_id,
9298 price_list_id,
9299 pricing_date,
9300 sign_by_date,
9301 total_line_list_price,
9302 user_estimated_amount,
9303 governing_contract_yn,
9304 attribute_category,
9305 attribute1,
9306 attribute2,
9307 attribute3,
9308 attribute4,
9309 attribute5,
9310 attribute6,
9311 attribute7,
9312 attribute8,
9313 attribute9,
9314 attribute10,
9315 attribute11,
9316 attribute12,
9317 attribute13,
9318 attribute14,
9319 attribute15,
9320 estimated_amount,
9321 inv_organization_id,
9322 currency_code_renewed,
9323 estimated_amount_renewed,
9324 -- new columns to replace rules
9325 conversion_type,
9326 conversion_rate,
9327 conversion_rate_date,
9328 conversion_euro_rate,
9329 cust_acct_id,
9330 bill_to_site_use_id,
9331 inv_rule_id,
9332 renewal_type_code,
9333 renewal_notify_to,
9334 renewal_end_date,
9335 ship_to_site_use_id,
9336 payment_term_id,
9337 document_id,
9338 -- R12 Data Model Changes 4485150 Start
9339 approval_type,
9340 term_cancel_source,
9341 payment_instruction_type,
9342 cancelled_amount -- LLC
9343 -- R12 Data Model Changes 4485150 Start
9344 )
9345 SELECT
9346 id,
9347 contract_number,
9348 authoring_org_id,
9349 org_id, --mmadhavi added for MOAC
9350 contract_number_modifier,
9351 chr_id_response,
9352 chr_id_award,
9353 sts_code,
9354 qcl_id,
9355 scs_code,
9356 trn_code,
9357 currency_code,
9358 archived_yn,
9359 deleted_yn,
9360 template_yn,
9361 chr_type,
9362 object_version_number,
9363 created_by,
9364 creation_date,
9365 last_updated_by,
9366 last_update_date,
9367 cust_po_number_req_yn,
9368 pre_pay_req_yn,
9369 cust_po_number,
9370 dpas_rating,
9371 template_used,
9372 date_approved,
9373 datetime_cancelled,
9374 auto_renew_days,
9375 date_issued,
9376 datetime_responded,
9377 rfp_type,
9378 keep_on_mail_list,
9379 set_aside_percent,
9380 response_copies_req,
9381 date_close_projected,
9382 datetime_proposed,
9383 date_signed,
9384 date_terminated,
9385 date_renewed,
9386 start_date,
9387 end_date,
9388 buy_or_sell,
9389 issue_or_receive,
9390 last_update_login,
9391 application_id,
9392 orig_system_source_code,
9393 orig_system_id1,
9394 orig_system_reference1,
9395 upg_orig_system_ref,
9396 upg_orig_system_ref_id,
9397 program_id,
9398 request_id,
9399 program_update_date,
9400 program_application_id,
9401 price_list_id,
9402 pricing_date,
9403 sign_by_date,
9404 total_line_list_price,
9405 user_estimated_amount,
9406 governing_contract_yn,
9407 attribute_category,
9408 attribute1,
9409 attribute2,
9410 attribute3,
9411 attribute4,
9412 attribute5,
9413 attribute6,
9414 attribute7,
9415 attribute8,
9416 attribute9,
9417 attribute10,
9418 attribute11,
9419 attribute12,
9420 attribute13,
9421 attribute14,
9422 attribute15,
9423 estimated_amount,
9424 inv_organization_id,
9425 currency_code_renewed,
9426 estimated_amount_renewed,
9427 conversion_type,
9428 conversion_rate,
9429 conversion_rate_date,
9430 conversion_euro_rate,
9431 cust_acct_id,
9432 bill_to_site_use_id,
9433 inv_rule_id,
9434 renewal_type_code,
9435 renewal_notify_to,
9436 renewal_end_date,
9437 ship_to_site_use_id,
9438 payment_term_id,
9439 document_id,
9440 -- R12 data Model Changes 4485150 Start
9441 approval_type,
9442 term_cancel_source,
9443 payment_instruction_type,
9444 cancelled_amount -- LLC
9445 -- R12 data Model Changes 4485150 End
9446 FROM okc_k_headers_all_bh --mmadhavi changed to _ALL for MOAC
9447 WHERE id = p_chr_id
9448 AND major_version = p_major_version;
9449
9450 RETURN l_return_status;
9451 IF (l_debug = 'Y') THEN
9452 okc_debug.LOG('24100: Exiting restore_version', 2);
9453 okc_debug.Reset_Indentation;
9454 END IF;
9455
9456
9457 EXCEPTION
9458 -- other appropriate handlers
9459 WHEN OTHERS THEN
9460
9461 IF (l_debug = 'Y') THEN
9462 okc_debug.LOG('24200: Exiting restore_version:OTHERS Exception', 2);
9463 okc_debug.Reset_Indentation;
9464 END IF;
9465
9466 -- store SQL error message on message stack
9467 OKC_API.SET_MESSAGE(p_app_name => okc_version_pvt.G_APP_NAME,
9468 p_msg_name => okc_version_pvt.G_UNEXPECTED_ERROR,
9469 p_token1 => okc_version_pvt.G_SQLCODE_TOKEN,
9470 p_token1_value => SQLCODE,
9471 p_token2 => okc_version_pvt.G_SQLERRM_TOKEN,
9472 p_token2_value => SQLERRM);
9473
9474 -- notify UNEXPECTED error
9475 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
9476 RETURN l_return_status;
9477
9478 END restore_version;
9479
9480
9481
9482 END OKC_CHR_PVT;