[Home] [Help]
PACKAGE BODY: APPS.OKC_CHR_PVT
Source
1 PACKAGE BODY OKC_CHR_PVT AS
2 /* $Header: OKCSCHRB.pls 120.7 2007/09/07 10:07:15 vmutyala 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 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 CREATED_BY,
3099 CREATION_DATE,
3100 LAST_UPDATED_BY,
3101 LAST_UPDATE_DATE,
3102 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_V
3112 WHERE okc_k_headers_v.id = p_id;
3113 l_okc_chrv_pk okc_chrv_pk_csr%ROWTYPE;
3114 l_chrv_rec chrv_rec_type;
3115 BEGIN
3116
3117 IF (l_debug = 'Y') THEN
3118 okc_debug.Set_Indentation('OKC_CHR_PVT');
3119 okc_debug.LOG('10600: Entered get_rec', 2);
3120 END IF;
3121
3122 x_no_data_found := TRUE;
3123 -- Get current database values
3124 OPEN okc_chrv_pk_csr (p_chrv_rec.id);
3125 FETCH okc_chrv_pk_csr INTO
3126 l_chrv_rec.ID,
3127 l_chrv_rec.OBJECT_VERSION_NUMBER,
3128 l_chrv_rec.SFWT_FLAG,
3129 l_chrv_rec.CHR_ID_RESPONSE,
3130 l_chrv_rec.CHR_ID_AWARD,
3131 l_chrv_rec.INV_ORGANIZATION_ID,
3132 l_chrv_rec.STS_CODE,
3133 l_chrv_rec.QCL_ID,
3134 l_chrv_rec.SCS_CODE,
3135 l_chrv_rec.CONTRACT_NUMBER,
3136 l_chrv_rec.CURRENCY_CODE,
3137 l_chrv_rec.CONTRACT_NUMBER_MODIFIER,
3138 l_chrv_rec.ARCHIVED_YN,
3139 l_chrv_rec.DELETED_YN,
3140 l_chrv_rec.CUST_PO_NUMBER_REQ_YN,
3141 l_chrv_rec.PRE_PAY_REQ_YN,
3142 l_chrv_rec.CUST_PO_NUMBER,
3143 l_chrv_rec.SHORT_DESCRIPTION,
3144 l_chrv_rec.COMMENTS,
3145 l_chrv_rec.DESCRIPTION,
3146 l_chrv_rec.DPAS_RATING,
3147 l_chrv_rec.COGNOMEN,
3148 l_chrv_rec.TEMPLATE_YN,
3149 l_chrv_rec.TEMPLATE_USED,
3150 l_chrv_rec.DATE_APPROVED,
3151 l_chrv_rec.DATETIME_CANCELLED,
3152 l_chrv_rec.AUTO_RENEW_DAYS,
3153 l_chrv_rec.DATE_ISSUED,
3154 l_chrv_rec.DATETIME_RESPONDED,
3155 l_chrv_rec.NON_RESPONSE_REASON,
3156 l_chrv_rec.NON_RESPONSE_EXPLAIN,
3157 l_chrv_rec.RFP_TYPE,
3158 l_chrv_rec.CHR_TYPE,
3159 l_chrv_rec.KEEP_ON_MAIL_LIST,
3160 l_chrv_rec.SET_ASIDE_REASON,
3161 l_chrv_rec.SET_ASIDE_PERCENT,
3162 l_chrv_rec.RESPONSE_COPIES_REQ,
3163 l_chrv_rec.DATE_CLOSE_PROJECTED,
3164 l_chrv_rec.DATETIME_PROPOSED,
3165 l_chrv_rec.DATE_SIGNED,
3166 l_chrv_rec.DATE_TERMINATED,
3167 l_chrv_rec.DATE_RENEWED,
3168 l_chrv_rec.TRN_CODE,
3169 l_chrv_rec.START_DATE,
3170 l_chrv_rec.END_DATE,
3171 l_chrv_rec.AUTHORING_ORG_ID,
3172 -- l_chrv_rec.ORG_ID, --mmadhavi added for MOAC
3173 l_chrv_rec.BUY_OR_SELL,
3174 l_chrv_rec.ISSUE_OR_RECEIVE,
3175 l_chrv_rec.ESTIMATED_AMOUNT,
3176 l_chrv_rec.ESTIMATED_AMOUNT_RENEWED,
3177 l_chrv_rec.CURRENCY_CODE_RENEWED,
3178 l_chrv_rec.UPG_ORIG_SYSTEM_REF,
3179 l_chrv_rec.UPG_ORIG_SYSTEM_REF_ID,
3180 l_chrv_rec.APPLICATION_ID,
3181 l_chrv_rec.ORIG_SYSTEM_SOURCE_CODE,
3182 l_chrv_rec.ORIG_SYSTEM_ID1,
3183 l_chrv_rec.ORIG_SYSTEM_REFERENCE1,
3184 l_chrv_rec.program_id,
3185 l_chrv_rec.request_id,
3186 l_chrv_rec.program_update_date,
3187 l_chrv_rec.program_application_id,
3188 l_chrv_rec.price_list_id,
3189 l_chrv_rec.pricing_date,
3190 l_chrv_rec.sign_by_date,
3191 l_chrv_rec.total_line_list_price,
3192 l_chrv_rec.USER_ESTIMATED_AMOUNT,
3193 l_chrv_rec.GOVERNING_CONTRACT_YN,
3194 --new columns to replace rules
3195 l_chrv_rec.CONVERSION_TYPE,
3196 l_chrv_rec.CONVERSION_RATE,
3197 l_chrv_rec.CONVERSION_RATE_DATE,
3198 l_chrv_rec.CONVERSION_EURO_RATE,
3199 l_chrv_rec.CUST_ACCT_ID,
3200 l_chrv_rec.BILL_TO_SITE_USE_ID,
3201 l_chrv_rec.INV_RULE_ID,
3202 l_chrv_rec.RENEWAL_TYPE_CODE,
3203 l_chrv_rec.RENEWAL_NOTIFY_TO,
3204 l_chrv_rec.RENEWAL_END_DATE,
3205 l_chrv_rec.SHIP_TO_SITE_USE_ID,
3206 l_chrv_rec.PAYMENT_TERM_ID,
3207 --
3208 l_chrv_rec.ATTRIBUTE_CATEGORY,
3209 l_chrv_rec.ATTRIBUTE1,
3210 l_chrv_rec.ATTRIBUTE2,
3211 l_chrv_rec.ATTRIBUTE3,
3212 l_chrv_rec.ATTRIBUTE4,
3213 l_chrv_rec.ATTRIBUTE5,
3214 l_chrv_rec.ATTRIBUTE6,
3215 l_chrv_rec.ATTRIBUTE7,
3216 l_chrv_rec.ATTRIBUTE8,
3217 l_chrv_rec.ATTRIBUTE9,
3218 l_chrv_rec.ATTRIBUTE10,
3219 l_chrv_rec.ATTRIBUTE11,
3220 l_chrv_rec.ATTRIBUTE12,
3221 l_chrv_rec.ATTRIBUTE13,
3222 l_chrv_rec.ATTRIBUTE14,
3223 l_chrv_rec.ATTRIBUTE15,
3224 l_chrv_rec.CREATED_BY,
3225 l_chrv_rec.CREATION_DATE,
3226 l_chrv_rec.LAST_UPDATED_BY,
3227 l_chrv_rec.LAST_UPDATE_DATE,
3228 l_chrv_rec.LAST_UPDATE_LOGIN,
3229 l_chrv_rec.DOCUMENT_ID,
3230 -- R12 Data Model Changes 4485150 End
3231 l_chrv_rec.APPROVAL_TYPE,
3232 l_chrv_rec.TERM_CANCEL_SOURCE,
3233 l_chrv_rec.PAYMENT_INSTRUCTION_TYPE,
3234 l_chrv_rec.ORG_ID, --mmadhavi added for MOAC
3235 l_chrv_rec.CANCELLED_AMOUNT -- LLC
3236 -- R12 Data Model Changes 4485150 End
3237 ;
3238 x_no_data_found := okc_chrv_pk_csr%NOTFOUND;
3239 CLOSE okc_chrv_pk_csr;
3240 RETURN(l_chrv_rec);
3241
3242 END get_rec;
3243
3244 FUNCTION get_rec (
3245 p_chrv_rec IN chrv_rec_type
3246 ) RETURN chrv_rec_type IS
3247 l_row_notfound BOOLEAN := TRUE;
3248 BEGIN
3249
3250 IF (l_debug = 'Y') THEN
3251 okc_debug.Set_Indentation('OKC_CHR_PVT');
3252 okc_debug.LOG('10700: Entered get_rec', 2);
3253 END IF;
3254
3255 RETURN(get_rec(p_chrv_rec, l_row_notfound));
3256
3257 END get_rec;
3258
3259 -----------------------------------------------------
3260 -- FUNCTION null_out_defaults for: OKC_K_HEADERS_V --
3261 -----------------------------------------------------
3262 FUNCTION null_out_defaults (
3263 p_chrv_rec IN chrv_rec_type
3264 ) RETURN chrv_rec_type IS
3265 l_chrv_rec chrv_rec_type := p_chrv_rec;
3266 BEGIN
3267
3268 IF (l_debug = 'Y') THEN
3269 okc_debug.Set_Indentation('OKC_CHR_PVT');
3270 okc_debug.LOG('10800: Entered null_out_defaults', 2);
3271 END IF;
3272
3273 IF (l_chrv_rec.object_version_number = OKC_API.G_MISS_NUM) THEN
3274 l_chrv_rec.object_version_number := NULL;
3275 END IF;
3276 IF (l_chrv_rec.sfwt_flag = OKC_API.G_MISS_CHAR) THEN
3277 l_chrv_rec.sfwt_flag := NULL;
3278 END IF;
3279 IF (l_chrv_rec.chr_id_response = OKC_API.G_MISS_NUM) THEN
3280 l_chrv_rec.chr_id_response := NULL;
3281 END IF;
3282 IF (l_chrv_rec.chr_id_award = OKC_API.G_MISS_NUM) THEN
3283 l_chrv_rec.chr_id_award := NULL;
3284 END IF;
3285 IF (l_chrv_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM) THEN
3286 l_chrv_rec.INV_ORGANIZATION_ID := NULL;
3287 END IF;
3288 IF (l_chrv_rec.sts_code = OKC_API.G_MISS_CHAR) THEN
3289 l_chrv_rec.sts_code := NULL;
3290 END IF;
3291 IF (l_chrv_rec.qcl_id = OKC_API.G_MISS_NUM) THEN
3292 l_chrv_rec.qcl_id := NULL;
3293 END IF;
3294 IF (l_chrv_rec.scs_code = OKC_API.G_MISS_CHAR) THEN
3295 l_chrv_rec.scs_code := NULL;
3296 END IF;
3297 IF (l_chrv_rec.contract_number = OKC_API.G_MISS_CHAR) THEN
3298 l_chrv_rec.contract_number := NULL;
3299 END IF;
3300 IF (l_chrv_rec.currency_code = OKC_API.G_MISS_CHAR) THEN
3301 l_chrv_rec.currency_code := NULL;
3302 END IF;
3303 IF (l_chrv_rec.contract_number_modifier = OKC_API.G_MISS_CHAR) THEN
3304 l_chrv_rec.contract_number_modifier := NULL;
3305 END IF;
3306 IF (l_chrv_rec.archived_yn = OKC_API.G_MISS_CHAR) THEN
3307 l_chrv_rec.archived_yn := NULL;
3308 END IF;
3309 IF (l_chrv_rec.deleted_yn = OKC_API.G_MISS_CHAR) THEN
3310 l_chrv_rec.deleted_yn := NULL;
3311 END IF;
3312 IF (l_chrv_rec.cust_po_number_req_yn = OKC_API.G_MISS_CHAR) THEN
3313 l_chrv_rec.cust_po_number_req_yn := NULL;
3314 END IF;
3315 IF (l_chrv_rec.pre_pay_req_yn = OKC_API.G_MISS_CHAR) THEN
3316 l_chrv_rec.pre_pay_req_yn := NULL;
3317 END IF;
3318 IF (l_chrv_rec.cust_po_number = OKC_API.G_MISS_CHAR) THEN
3319 l_chrv_rec.cust_po_number := NULL;
3320 END IF;
3321 IF (l_chrv_rec.short_description = OKC_API.G_MISS_CHAR) THEN
3322 l_chrv_rec.short_description := NULL;
3323 END IF;
3324 IF (l_chrv_rec.comments = OKC_API.G_MISS_CHAR) THEN
3325 l_chrv_rec.comments := NULL;
3326 END IF;
3327 IF (l_chrv_rec.description = OKC_API.G_MISS_CHAR) THEN
3328 l_chrv_rec.description := NULL;
3329 END IF;
3330 IF (l_chrv_rec.dpas_rating = OKC_API.G_MISS_CHAR) THEN
3331 l_chrv_rec.dpas_rating := NULL;
3332 END IF;
3333 IF (l_chrv_rec.cognomen = OKC_API.G_MISS_CHAR) THEN
3334 l_chrv_rec.cognomen := NULL;
3335 END IF;
3336 IF (l_chrv_rec.template_yn = OKC_API.G_MISS_CHAR) THEN
3337 l_chrv_rec.template_yn := NULL;
3338 END IF;
3339 IF (l_chrv_rec.template_used = OKC_API.G_MISS_CHAR) THEN
3340 l_chrv_rec.template_used := NULL;
3341 END IF;
3342 IF (l_chrv_rec.date_approved = OKC_API.G_MISS_DATE) THEN
3343 l_chrv_rec.date_approved := NULL;
3344 END IF;
3345 IF (l_chrv_rec.datetime_cancelled = OKC_API.G_MISS_DATE) THEN
3346 l_chrv_rec.datetime_cancelled := NULL;
3347 END IF;
3348 IF (l_chrv_rec.auto_renew_days = OKC_API.G_MISS_NUM) THEN
3349 l_chrv_rec.auto_renew_days := NULL;
3350 END IF;
3351 IF (l_chrv_rec.date_issued = OKC_API.G_MISS_DATE) THEN
3352 l_chrv_rec.date_issued := NULL;
3353 END IF;
3354 IF (l_chrv_rec.datetime_responded = OKC_API.G_MISS_DATE) THEN
3355 l_chrv_rec.datetime_responded := NULL;
3356 END IF;
3357 IF (l_chrv_rec.non_response_reason = OKC_API.G_MISS_CHAR) THEN
3358 l_chrv_rec.non_response_reason := NULL;
3359 END IF;
3360 IF (l_chrv_rec.non_response_explain = OKC_API.G_MISS_CHAR) THEN
3361 l_chrv_rec.non_response_explain := NULL;
3362 END IF;
3363 IF (l_chrv_rec.rfp_type = OKC_API.G_MISS_CHAR) THEN
3364 l_chrv_rec.rfp_type := NULL;
3365 END IF;
3366 IF (l_chrv_rec.chr_type = OKC_API.G_MISS_CHAR) THEN
3367 l_chrv_rec.chr_type := NULL;
3368 END IF;
3369 IF (l_chrv_rec.keep_on_mail_list = OKC_API.G_MISS_CHAR) THEN
3370 l_chrv_rec.keep_on_mail_list := NULL;
3371 END IF;
3372 IF (l_chrv_rec.set_aside_reason = OKC_API.G_MISS_CHAR) THEN
3373 l_chrv_rec.set_aside_reason := NULL;
3374 END IF;
3375 IF (l_chrv_rec.set_aside_percent = OKC_API.G_MISS_NUM) THEN
3376 l_chrv_rec.set_aside_percent := NULL;
3377 END IF;
3378 IF (l_chrv_rec.response_copies_req = OKC_API.G_MISS_NUM) THEN
3379 l_chrv_rec.response_copies_req := NULL;
3380 END IF;
3381 IF (l_chrv_rec.date_close_projected = OKC_API.G_MISS_DATE) THEN
3382 l_chrv_rec.date_close_projected := NULL;
3383 END IF;
3384 IF (l_chrv_rec.datetime_proposed = OKC_API.G_MISS_DATE) THEN
3385 l_chrv_rec.datetime_proposed := NULL;
3386 END IF;
3387 IF (l_chrv_rec.date_signed = OKC_API.G_MISS_DATE) THEN
3388 l_chrv_rec.date_signed := NULL;
3389 END IF;
3390 IF (l_chrv_rec.date_terminated = OKC_API.G_MISS_DATE) THEN
3391 l_chrv_rec.date_terminated := NULL;
3392 END IF;
3393 IF (l_chrv_rec.date_renewed = OKC_API.G_MISS_DATE) THEN
3394 l_chrv_rec.date_renewed := NULL;
3395 END IF;
3396 IF (l_chrv_rec.trn_code = OKC_API.G_MISS_CHAR) THEN
3397 l_chrv_rec.trn_code := NULL;
3398 END IF;
3399 IF (l_chrv_rec.start_date = OKC_API.G_MISS_DATE) THEN
3400 l_chrv_rec.start_date := NULL;
3401 END IF;
3402 IF (l_chrv_rec.end_date = OKC_API.G_MISS_DATE) THEN
3403 l_chrv_rec.end_date := NULL;
3404 END IF;
3405 IF (l_chrv_rec.authoring_org_id = OKC_API.G_MISS_NUM) THEN
3406 l_chrv_rec.authoring_org_id := NULL;
3407 END IF;
3408 --mmadhavi added for MOAC
3409
3410 IF (l_chrv_rec.org_id = OKC_API.G_MISS_NUM) THEN
3411 l_chrv_rec.org_id := NULL;
3412 END IF;
3413
3414 --mmadhavi end MOAC
3415 IF (l_chrv_rec.buy_or_sell = OKC_API.G_MISS_CHAR) THEN
3416 l_chrv_rec.buy_or_sell := NULL;
3417 END IF;
3418 IF (l_chrv_rec.issue_or_receive = OKC_API.G_MISS_CHAR) THEN
3419 l_chrv_rec.issue_or_receive := NULL;
3420 END IF;
3421 IF (l_chrv_rec.estimated_amount = OKC_API.G_MISS_NUM) THEN
3422 l_chrv_rec.estimated_amount := NULL;
3423 END IF;
3424 IF (l_chrv_rec.estimated_amount_renewed = OKC_API.G_MISS_NUM) THEN
3425 l_chrv_rec.estimated_amount_renewed := NULL;
3426 END IF;
3427 IF (l_chrv_rec.currency_code_renewed = OKC_API.G_MISS_CHAR) THEN
3428 l_chrv_rec.currency_code_renewed := NULL;
3429 END IF;
3430 IF (l_chrv_rec.upg_orig_system_ref = OKC_API.G_MISS_CHAR) THEN
3431 l_chrv_rec.upg_orig_system_ref := NULL;
3432 END IF;
3433 IF (l_chrv_rec.upg_orig_system_ref_id = OKC_API.G_MISS_NUM) THEN
3434 l_chrv_rec.upg_orig_system_ref_id := NULL;
3435 END IF;
3436 IF (l_chrv_rec.program_id = OKC_API.G_MISS_NUM) THEN
3437 l_chrv_rec.program_id := NULL;
3438 END IF;
3439 IF (l_chrv_rec.request_id = OKC_API.G_MISS_NUM) THEN
3440 l_chrv_rec.request_id := NULL;
3441 END IF;
3442 IF (l_chrv_rec.program_update_date = OKC_API.G_MISS_DATE) THEN
3443 l_chrv_rec.program_update_date := NULL;
3444 END IF;
3445 IF (l_chrv_rec.program_application_id = OKC_API.G_MISS_NUM) THEN
3446 l_chrv_rec.program_application_id := NULL;
3447 END IF;
3448 IF (l_chrv_rec.price_list_id = OKC_API.G_MISS_NUM) THEN
3449 l_chrv_rec.price_list_id := NULL;
3450 END IF;
3451 IF (l_chrv_rec.pricing_date = OKC_API.G_MISS_DATE) THEN
3452 l_chrv_rec.pricing_date := NULL;
3453 END IF;
3454 IF (l_chrv_rec.sign_by_date = OKC_API.G_MISS_DATE) THEN
3455 l_chrv_rec.sign_by_date := NULL;
3456 END IF;
3457 IF (l_chrv_rec.total_line_list_price = OKC_API.G_MISS_NUM) THEN
3458 l_chrv_rec.total_line_list_price := NULL;
3459 END IF;
3460 IF (l_chrv_rec.application_id = OKC_API.G_MISS_NUM) THEN
3461 l_chrv_rec.application_id := NULL;
3462 END IF;
3463 IF (l_chrv_rec.orig_system_source_code = OKC_API.G_MISS_CHAR ) THEN
3464 l_chrv_rec.orig_system_source_code := NULL;
3465 END IF;
3466 IF (l_chrv_rec.orig_system_id1 = OKC_API.G_MISS_NUM ) THEN
3467 l_chrv_rec.orig_system_id1 := NULL;
3468 END IF;
3469 IF (l_chrv_rec.orig_system_reference1 = OKC_API.G_MISS_CHAR ) THEN
3470 l_chrv_rec.orig_system_reference1 := NULL;
3471 END IF;
3472
3473 IF (l_chrv_rec.USER_ESTIMATED_AMOUNT = OKC_API.G_MISS_NUM ) THEN
3474 l_chrv_rec.USER_ESTIMATED_AMOUNT := NULL;
3475 END IF;
3476
3477 IF (l_chrv_rec.GOVERNING_CONTRACT_YN = OKC_API.G_MISS_CHAR ) THEN
3478 l_chrv_rec.GOVERNING_CONTRACT_YN := NULL;
3479 END IF;
3480
3481 IF (l_chrv_rec.attribute_category = OKC_API.G_MISS_CHAR) THEN
3482 l_chrv_rec.attribute_category := NULL;
3483 END IF;
3484 IF (l_chrv_rec.attribute1 = OKC_API.G_MISS_CHAR) THEN
3485 l_chrv_rec.attribute1 := NULL;
3486 END IF;
3487 IF (l_chrv_rec.attribute2 = OKC_API.G_MISS_CHAR) THEN
3488 l_chrv_rec.attribute2 := NULL;
3489 END IF;
3490 IF (l_chrv_rec.attribute3 = OKC_API.G_MISS_CHAR) THEN
3491 l_chrv_rec.attribute3 := NULL;
3492 END IF;
3493 IF (l_chrv_rec.attribute4 = OKC_API.G_MISS_CHAR) THEN
3494 l_chrv_rec.attribute4 := NULL;
3495 END IF;
3496 IF (l_chrv_rec.attribute5 = OKC_API.G_MISS_CHAR) THEN
3497 l_chrv_rec.attribute5 := NULL;
3498 END IF;
3499 IF (l_chrv_rec.attribute6 = OKC_API.G_MISS_CHAR) THEN
3500 l_chrv_rec.attribute6 := NULL;
3501 END IF;
3502 IF (l_chrv_rec.attribute7 = OKC_API.G_MISS_CHAR) THEN
3503 l_chrv_rec.attribute7 := NULL;
3504 END IF;
3505 IF (l_chrv_rec.attribute8 = OKC_API.G_MISS_CHAR) THEN
3506 l_chrv_rec.attribute8 := NULL;
3507 END IF;
3508 IF (l_chrv_rec.attribute9 = OKC_API.G_MISS_CHAR) THEN
3509 l_chrv_rec.attribute9 := NULL;
3510 END IF;
3511 IF (l_chrv_rec.attribute10 = OKC_API.G_MISS_CHAR) THEN
3512 l_chrv_rec.attribute10 := NULL;
3513 END IF;
3514 IF (l_chrv_rec.attribute11 = OKC_API.G_MISS_CHAR) THEN
3515 l_chrv_rec.attribute11 := NULL;
3516 END IF;
3517 IF (l_chrv_rec.attribute12 = OKC_API.G_MISS_CHAR) THEN
3518 l_chrv_rec.attribute12 := NULL;
3519 END IF;
3520 IF (l_chrv_rec.attribute13 = OKC_API.G_MISS_CHAR) THEN
3521 l_chrv_rec.attribute13 := NULL;
3522 END IF;
3523 IF (l_chrv_rec.attribute14 = OKC_API.G_MISS_CHAR) THEN
3524 l_chrv_rec.attribute14 := NULL;
3525 END IF;
3526 IF (l_chrv_rec.attribute15 = OKC_API.G_MISS_CHAR) THEN
3527 l_chrv_rec.attribute15 := NULL;
3528 END IF;
3529 IF (l_chrv_rec.created_by = OKC_API.G_MISS_NUM) THEN
3530 l_chrv_rec.created_by := NULL;
3531 END IF;
3532 IF (l_chrv_rec.creation_date = OKC_API.G_MISS_DATE) THEN
3533 l_chrv_rec.creation_date := NULL;
3534 END IF;
3535 IF (l_chrv_rec.last_updated_by = OKC_API.G_MISS_NUM) THEN
3536 l_chrv_rec.last_updated_by := NULL;
3537 END IF;
3538 IF (l_chrv_rec.last_update_date = OKC_API.G_MISS_DATE) THEN
3539 l_chrv_rec.last_update_date := NULL;
3540 END IF;
3541 IF (l_chrv_rec.last_update_login = OKC_API.G_MISS_NUM) THEN
3542 l_chrv_rec.last_update_login := NULL;
3543 END IF;
3544 -- new columns to replace rules
3545 IF (l_chrv_rec.conversion_type = OKC_API.G_MISS_CHAR) THEN
3546 l_chrv_rec.conversion_type := NULL;
3547 END IF;
3548 IF (l_chrv_rec.conversion_rate = OKC_API.G_MISS_NUM) THEN
3549 l_chrv_rec.conversion_rate := NULL;
3550 END IF;
3551 IF (l_chrv_rec.conversion_rate_date = OKC_API.G_MISS_DATE) THEN
3552 l_chrv_rec.conversion_rate_date := NULL;
3553 END IF;
3554 IF (l_chrv_rec.conversion_euro_rate = OKC_API.G_MISS_NUM) THEN
3555 l_chrv_rec.conversion_euro_rate := NULL;
3556 END IF;
3557 IF (l_chrv_rec.cust_acct_id = OKC_API.G_MISS_NUM) THEN
3558 l_chrv_rec .cust_acct_id := NULL;
3559 END IF;
3560 IF (l_chrv_rec.bill_to_site_use_id = OKC_API.G_MISS_NUM) THEN
3561 l_chrv_rec.bill_to_site_use_id := NULL;
3562 END IF;
3563 IF (l_chrv_rec.inv_rule_id = OKC_API.G_MISS_NUM) THEN
3564 l_chrv_rec.inv_rule_id := NULL;
3565 END IF;
3566 IF (l_chrv_rec.renewal_type_code = OKC_API.G_MISS_CHAR) THEN
3567 l_chrv_rec.renewal_type_code := NULL;
3568 END IF;
3569 IF (l_chrv_rec.renewal_notify_to = OKC_API.G_MISS_NUM) THEN
3570 l_chrv_rec.renewal_notify_to := NULL;
3571 END IF;
3572 IF (l_chrv_rec.renewal_end_date = OKC_API.G_MISS_DATE) THEN
3573 l_chrv_rec.renewal_end_date := NULL;
3574 END IF;
3575 IF (l_chrv_rec.ship_to_site_use_id = OKC_API.G_MISS_NUM) THEN
3576 l_chrv_rec.ship_to_site_use_id := NULL;
3577 END IF;
3578 IF (l_chrv_rec.payment_term_id = OKC_API.G_MISS_NUM) THEN
3579 l_chrv_rec.payment_term_id := NULL;
3580 END IF;
3581 -- R12 Data Model Changes 4485150 Start
3582 IF (l_chrv_rec.approval_type = OKC_API.G_MISS_CHAR) THEN
3583 l_chrv_rec.approval_type := NULL;
3584 END IF;
3585 IF (l_chrv_rec.term_cancel_source = OKC_API.G_MISS_CHAR) THEN
3586 l_chrv_rec.term_cancel_source := NULL;
3587 END IF;
3588 IF (l_chrv_rec.payment_instruction_type = OKC_API.G_MISS_CHAR) THEN
3589 l_chrv_rec.payment_instruction_type := NULL;
3590 END IF;
3591 -- LLC
3592 IF (l_chrv_rec.cancelled_amount = OKC_API.G_MISS_NUM) THEN
3593 l_chrv_rec.cancelled_amount := NULL;
3594 END IF;
3595 -- R12 Data Model Changes 4485150 End
3596 RETURN(l_chrv_rec);
3597
3598 END null_out_defaults;
3599 ---------------------------------------------------------------------------
3600 -- PROCEDURE Validate_Attributes
3601 ---------------------------------------------------------------------------
3602 ---------------------------------------------
3603 -- Validate_Attributes for:OKC_K_HEADERS_V --
3604 ---------------------------------------------
3605 FUNCTION Validate_Attributes (
3606 p_chrv_rec IN chrv_rec_type
3607 ) RETURN VARCHAR2 IS
3608 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3609 x_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3610 BEGIN
3611
3612 IF (l_debug = 'Y') THEN
3613 okc_debug.Set_Indentation('OKC_CHR_PVT');
3614 okc_debug.LOG('10900: Entered Validate_Attributes', 2);
3615 END IF;
3616
3617 /************************ HAND-CODED *********************************/
3618 validate_contract_number
3619 (x_return_status => l_return_status,
3620 p_chrv_rec => p_chrv_rec);
3621
3622 -- store the highest degree of error
3623 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3624 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3625 x_return_status := l_return_status;
3626 END IF;
3627 END IF;
3628
3629 validate_currency_code
3630 (x_return_status => l_return_status,
3631 p_chrv_rec => p_chrv_rec);
3632
3633 -- store the highest degree of error
3634 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3635 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3636 x_return_status := l_return_status;
3637 END IF;
3638 END IF;
3639
3640 validate_sfwt_flag
3641 (x_return_status => l_return_status,
3642 p_chrv_rec => p_chrv_rec);
3643
3644 -- store the highest degree of error
3645 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3646 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3647 x_return_status := l_return_status;
3648 END IF;
3649 END IF;
3650
3651 validate_chr_id_response
3652 (x_return_status => l_return_status,
3653 p_chrv_rec => p_chrv_rec);
3654
3655 -- store the highest degree of error
3656 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3657 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3658 x_return_status := l_return_status;
3659 END IF;
3660 END IF;
3661
3662 validate_chr_id_award
3663 (x_return_status => l_return_status,
3664 p_chrv_rec => p_chrv_rec);
3665
3666 -- store the highest degree of error
3667 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3668 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3669 x_return_status := l_return_status;
3670 END IF;
3671 END IF;
3672
3673 validate_INV_ORGANIZATION_ID
3674 (x_return_status => l_return_status,
3675 p_chrv_rec => p_chrv_rec);
3676
3677 -- store the highest degree of error
3678 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3679 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3680 x_return_status := l_return_status;
3681 END IF;
3682 END IF;
3683
3684 validate_sts_code
3685 (x_return_status => l_return_status,
3686 p_chrv_rec => p_chrv_rec);
3687
3688 -- store the highest degree of error
3689 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3690 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3691 x_return_status := l_return_status;
3692 END IF;
3693 END IF;
3694
3695 validate_qcl_id
3696 (x_return_status => l_return_status,
3697 p_chrv_rec => p_chrv_rec);
3698
3699 -- store the highest degree of error
3700 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3701 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3702 x_return_status := l_return_status;
3703 END IF;
3704 END IF;
3705
3706 validate_org_ids
3707 (x_return_status => l_return_status,
3708 p_chrv_rec => p_chrv_rec);
3709
3710 -- store the highest degree of error
3711 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3712 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3713 x_return_status := l_return_status;
3714 END IF;
3715 END IF;
3716
3717 validate_buy_or_sell
3718 (x_return_status => l_return_status,
3719 p_chrv_rec => p_chrv_rec);
3720
3721 -- store the highest degree of error
3722 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3723 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3724 x_return_status := l_return_status;
3725 END IF;
3726 END IF;
3727
3728 validate_issue_or_receive
3729 (x_return_status => l_return_status,
3730 p_chrv_rec => p_chrv_rec);
3731
3732 -- store the highest degree of error
3733 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3734 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3735 x_return_status := l_return_status;
3736 END IF;
3737 END IF;
3738
3739 validate_scs_code
3740 (x_return_status => l_return_status,
3741 p_chrv_rec => p_chrv_rec);
3742
3743 -- store the highest degree of error
3744 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3745 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3746 x_return_status := l_return_status;
3747 END IF;
3748 END IF;
3749
3750 validate_archived_yn
3751 (x_return_status => l_return_status,
3752 p_chrv_rec => p_chrv_rec);
3753
3754 -- store the highest degree of error
3755 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3756 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3757 x_return_status := l_return_status;
3758 END IF;
3759 END IF;
3760
3761 validate_deleted_yn
3762 (x_return_status => l_return_status,
3763 p_chrv_rec => p_chrv_rec);
3764
3765 -- store the highest degree of error
3766 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3767 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3768 x_return_status := l_return_status;
3769 END IF;
3770 END IF;
3771
3772 validate_cust_po_number_req_yn
3773 (x_return_status => l_return_status,
3774 p_chrv_rec => p_chrv_rec);
3775
3776 -- store the highest degree of error
3777 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3778 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3779 x_return_status := l_return_status;
3780 END IF;
3781 END IF;
3782
3783 validate_pre_pay_req_yn
3784 (x_return_status => l_return_status,
3785 p_chrv_rec => p_chrv_rec);
3786
3787 -- store the highest degree of error
3788 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3789 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3790 x_return_status := l_return_status;
3791 END IF;
3792 END IF;
3793
3794 validate_template_yn
3795 (x_return_status => l_return_status,
3796 p_chrv_rec => p_chrv_rec);
3797
3798 -- store the highest degree of error
3799 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3800 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3801 x_return_status := l_return_status;
3802 END IF;
3803 END IF;
3804
3805 validate_chr_type
3806 (x_return_status => l_return_status,
3807 p_chrv_rec => p_chrv_rec);
3808
3809 -- store the highest degree of error
3810 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3811 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3812 x_return_status := l_return_status;
3813 END IF;
3814 END IF;
3815
3816 /*
3817 validate_datetime_cancelled
3818 (x_return_status => l_return_status,
3819 p_chrv_rec => p_chrv_rec);
3820
3821 -- store the highest degree of error
3822 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
3823 If x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
3824 x_return_status := l_return_status;
3825 End If;
3826 End If;
3827 */
3828 validate_keep_on_mail_list
3829 (x_return_status => l_return_status,
3830 p_chrv_rec => p_chrv_rec);
3831
3832 -- store the highest degree of error
3833 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3834 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3835 x_return_status := l_return_status;
3836 END IF;
3837 END IF;
3838
3839 validate_set_aside_percent
3840 (x_return_status => l_return_status,
3841 p_chrv_rec => p_chrv_rec);
3842
3843 -- store the highest degree of error
3844 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3845 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3846 x_return_status := l_return_status;
3847 END IF;
3848 END IF;
3849 /*
3850 validate_date_terminated
3851 (x_return_status => l_return_status,
3852 p_chrv_rec => p_chrv_rec);
3853
3854 -- store the highest degree of error
3855 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
3856 If x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
3857 x_return_status := l_return_status;
3858 End If;
3859 End If;
3860 */
3861 validate_trn_code
3862 (x_return_status => l_return_status,
3863 p_chrv_rec => p_chrv_rec);
3864
3865 -- store the highest degree of error
3866 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3867 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3868 x_return_status := l_return_status;
3869 END IF;
3870 END IF;
3871 /*
3872 validate_chr_id_rnwd_to
3873 (x_return_status => l_return_status,
3874 p_chrv_rec => p_chrv_rec);
3875
3876 -- store the highest degree of error
3877 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
3878 If x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR Then
3879 x_return_status := l_return_status;
3880 End If;
3881 End If;
3882 */
3883 validate_curr_code_rnwd
3884 (x_return_status => l_return_status,
3885 p_chrv_rec => p_chrv_rec);
3886
3887 -- store the highest degree of error
3888 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3889 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3890 x_return_status := l_return_status;
3891 END IF;
3892 END IF;
3893
3894 validate_orig_sys_code
3895 (x_return_status => l_return_status,
3896 p_chrv_rec => p_chrv_rec);
3897
3898 -- store the highest degree of error
3899 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3900 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3901 x_return_status := l_return_status;
3902 END IF;
3903 END IF;
3904 /* Bug 3652127 Price list not validated for OKS*/
3905 IF l_application_id <> 515 THEN
3906 validate_PRICE_LIST_ID
3907 (x_return_status => l_return_status,
3908 p_chrv_rec => p_chrv_rec);
3909
3910 -- store the highest degree of error
3911 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3912 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3913 x_return_status := l_return_status;
3914 END IF;
3915 END IF;
3916 END IF;
3917
3918 --From R12 onwards, OKS has it's won renewal type
3919 IF l_application_id <> 515 THEN
3920 validate_renewal_type_code
3921 (x_return_status => l_return_status,
3922 p_chrv_rec => p_chrv_rec);
3923
3924 -- store the highest degree of error
3925 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3926 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3927 x_return_status := l_return_status;
3928 END IF;
3929 END IF;
3930 ELSE
3931 validate_oks_renewal_type_code
3932 (x_return_status => l_return_status,
3933 p_chrv_rec => p_chrv_rec);
3934
3935 -- store the highest degree of error
3936 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3937 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3938 x_return_status := l_return_status;
3939 END IF;
3940 END IF;
3941 END IF;
3942 --end of R12 renewal_type_code validation changes
3943
3944 -- R12 Data Model Changes 4485150 Start
3945 validate_approval_type(x_return_status => l_return_status,
3946 p_chrv_rec => p_chrv_rec) ;
3947 -- store the highest degree of error
3948 IF l_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
3949 IF x_return_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
3950 x_return_status := l_return_status;
3951 END IF;
3952 END IF;
3953 -- R12 Data Model Changes 4485150 End
3954 RETURN(x_return_status);
3955 IF (l_debug = 'Y') THEN
3956 okc_debug.LOG('11000: Exiting Validate_Attributes', 2);
3957 okc_debug.Reset_Indentation;
3958 END IF;
3959
3960
3961 EXCEPTION
3962 WHEN OTHERS THEN
3963
3964 IF (l_debug = 'Y') THEN
3965 okc_debug.LOG('11100: Exiting Validate_Attributes:OTHERS Exception', 2);
3966 okc_debug.Reset_Indentation;
3967 END IF;
3968
3969 -- store SQL error message on message stack
3970 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
3971 p_msg_name => g_unexpected_error,
3972 p_token1 => g_sqlcode_token,
3973 p_token1_value => SQLCODE,
3974 p_token2 => g_sqlerrm_token,
3975 p_token2_value => SQLERRM);
3976
3977 -- notify caller of an UNEXPETED error
3978 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3979
3980 -- return status to caller
3981 RETURN(x_return_status);
3982
3983
3984 END Validate_Attributes;
3985
3986 -- This function returns the status type for given status code
3987 FUNCTION Get_Status_Type(p_code VARCHAR2) RETURN VARCHAR2 IS
3988 l_ste_code VARCHAR2(30) := 'X';
3989
3990 CURSOR l_stsv_csr IS
3991 SELECT ste_code
3992 FROM okc_statuses_b
3993 WHERE code = p_code;
3994 BEGIN
3995
3996 IF (l_debug = 'Y') THEN
3997 okc_debug.Set_Indentation('OKC_CHR_PVT');
3998 okc_debug.LOG('11200: Entered Get_Status_Type', 2);
3999 END IF;
4000
4001 OPEN l_stsv_csr;
4002 FETCH l_stsv_csr INTO l_ste_code;
4003 CLOSE l_stsv_csr;
4004 RETURN l_ste_code;
4005 IF (l_debug = 'Y') THEN
4006 okc_debug.LOG('11300: Exiting Get_Status_Type', 2);
4007 okc_debug.Reset_Indentation;
4008 END IF;
4009
4010
4011 EXCEPTION
4012 WHEN NO_DATA_FOUND THEN
4013
4014 IF (l_debug = 'Y') THEN
4015 okc_debug.LOG('11400: Exiting Get_Status_Type:NO_DATA_FOUND Exception', 2);
4016 okc_debug.Reset_Indentation;
4017 END IF;
4018
4019 RETURN l_ste_code;
4020 WHEN OTHERS THEN
4021
4022 IF (l_debug = 'Y') THEN
4023 okc_debug.LOG('11500: Exiting Get_Status_Type:Others Exception', 2);
4024 okc_debug.Reset_Indentation;
4025 END IF;
4026
4027 RETURN l_ste_code;
4028 END;
4029
4030 FUNCTION IS_UNIQUE (p_chrv_rec chrv_rec_type) RETURN VARCHAR2
4031 IS
4032 CURSOR l_chr_csr1 IS
4033 SELECT 'x'
4034 --npalepu 08-11-2005 modified for bug # 4691662.
4035 --Replaced table okc_k_headers_b with headers_All_b table
4036 /* FROM okc_k_headers_b */
4037 FROM okc_k_headers_all_b
4038 --end npalepu
4039 WHERE contract_number = p_chrv_rec.contract_number
4040 AND contract_number_modifier IS NULL
4041 AND id <> nvl(p_chrv_rec.id, - 99999);
4042
4043 CURSOR l_chr_csr2 IS
4044 SELECT 'x'
4045 --npalepu 08-11-2005 modified for bug # 4691662.
4046 --Replaced table okc_k_headers_b with headers_All_b table
4047 /* FROM okc_k_headers_b */
4048 FROM okc_k_headers_all_b
4049 --end npalepu
4050 WHERE contract_number = p_chrv_rec.contract_number
4051 AND contract_number_modifier = p_chrv_rec.contract_number_modifier
4052 AND id <> nvl(p_chrv_rec.id, - 99999);
4053
4054 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4055 l_dummy VARCHAR2(1);
4056 l_found BOOLEAN;
4057 BEGIN
4058
4059 IF (l_debug = 'Y') THEN
4060 okc_debug.Set_Indentation('OKC_CHR_PVT');
4061 okc_debug.LOG('11600: Entered IS_UNIQUE', 2);
4062 END IF;
4063
4064 -- check for unique CONTRACT_NUMBER + MODIFIER
4065 IF (p_chrv_rec.contract_number_modifier IS NULL) THEN
4066 OPEN l_chr_csr1;
4067 FETCH l_chr_csr1 INTO l_dummy;
4068 l_found := l_chr_csr1%FOUND;
4069 CLOSE l_chr_csr1;
4070 ELSE
4071 OPEN l_chr_csr2;
4072 FETCH l_chr_csr2 INTO l_dummy;
4073 l_found := l_chr_csr2%FOUND;
4074 CLOSE l_chr_csr2;
4075 END IF;
4076 IF (l_found) THEN
4077 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4078 p_msg_name => 'OKC_CONTRACT_EXISTS',
4079 p_token1 => 'VALUE1',
4080 p_token1_value => p_chrv_rec.contract_number,
4081 p_token2 => 'VALUE2',
4082 p_token2_value => nvl(p_chrv_rec.contract_number_modifier,' '));
4083 -- notify caller of an error
4084 l_return_status := OKC_API.G_RET_STS_ERROR;
4085 END IF;
4086 RETURN (l_return_status);
4087
4088 IF (l_debug = 'Y') THEN
4089 okc_debug.LOG('11700: Exiting IS_UNIQUE', 2);
4090 okc_debug.Reset_Indentation;
4091 END IF;
4092
4093
4094 EXCEPTION
4095 WHEN OTHERS THEN
4096
4097 IF (l_debug = 'Y') THEN
4098 okc_debug.LOG('11800: Exiting IS_UNIQUE:OTHERS Exception', 2);
4099 okc_debug.Reset_Indentation;
4100 END IF;
4101
4102 RETURN (l_return_status);
4103
4104 END IS_UNIQUE;
4105
4106 /*********************** END HAND-CODED ********************************/
4107 ---------------------------------------------------------------------------
4108 -- PROCEDURE Validate_Record
4109 ---------------------------------------------------------------------------
4110
4111 -----------------------------------------
4112 -- Validate_Record for:OKC_K_HEADERS_V --
4113 -----------------------------------------
4114 FUNCTION Validate_Record (
4115 p_chrv_rec IN chrv_rec_type
4116 ) RETURN VARCHAR2 IS
4117 CURSOR l_chr_csr1 IS
4118 SELECT 'x'
4119 --npalepu 08-11-2005 modified for bug # 4691662.
4120 --Replaced table okc_k_headers_b with headers_All_b table
4121 /* FROM okc_k_headers_b */
4122 FROM okc_k_headers_all_b
4123 --end npalepu
4124 WHERE contract_number = p_chrv_rec.contract_number
4125 AND contract_number_modifier IS NULL
4126 AND id <> nvl(p_chrv_rec.id, - 99999);
4127
4128 CURSOR l_chr_csr2 IS
4129 SELECT 'x'
4130 --npalepu 08-11-2005 modified for bug # 4691662.
4131 --Replaced table okc_k_headers_b with headers_All_b table
4132 /* FROM okc_k_headers_b */
4133 FROM okc_k_headers_all_b
4134 --end npalepu
4135 WHERE contract_number = p_chrv_rec.contract_number
4136 AND contract_number_modifier = p_chrv_rec.contract_number_modifier
4137 AND id <> nvl(p_chrv_rec.id, - 99999);
4138
4139 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4140 l_dummy VARCHAR2(1);
4141 l_found BOOLEAN;
4142 BEGIN
4143
4144 IF (l_debug = 'Y') THEN
4145 okc_debug.Set_Indentation('OKC_CHR_PVT');
4146 okc_debug.LOG('11900: Entered Validate_Record', 2);
4147 END IF;
4148
4149 -- check for unique CONTRACT_NUMBER + MODIFIER
4150 /*
4151 If (p_chrv_rec.contract_number_modifier is null) Then
4152 open l_chr_csr1;
4153 fetch l_chr_csr1 into l_dummy;
4154 l_found := l_chr_csr1%FOUND;
4155 close l_chr_csr1;
4156 Else
4157 open l_chr_csr2;
4158 fetch l_chr_csr2 into l_dummy;
4159 l_found := l_chr_csr2%FOUND;
4160 close l_chr_csr2;
4161 End If;
4162 If (l_found) Then
4163 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4164 p_msg_name => 'OKC_CONTRACT_EXISTS',
4165 p_token1 => 'VALUE1',
4166 p_token1_value => p_chrv_rec.contract_number,
4167 p_token2 => 'VALUE2',
4168 p_token2_value => nvl(p_chrv_rec.contract_number_modifier,' '));
4169 -- notify caller of an error
4170 l_return_status := OKC_API.G_RET_STS_ERROR;
4171 End If;
4172 */
4173 l_return_status := IS_UNIQUE(p_chrv_rec);
4174
4175 IF (l_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
4176 -- start date cannot be after end date
4177 IF (p_chrv_rec.START_DATE IS NOT NULL AND
4178 p_chrv_rec.END_DATE IS NOT NULL)
4179 THEN
4180 IF (p_chrv_rec.START_DATE > p_chrv_rec.END_DATE) THEN
4181 -- notify caller of an error as UNEXPETED error
4182 l_return_status := OKC_API.G_RET_STS_ERROR;
4183 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4184 p_msg_name => 'OKC_INVALID_START_END_DATES'
4185 );
4186 END IF;
4187 END IF;
4188 ---SIGN_BY_DATE must be earlier than the END_DATE of the contract
4189 IF (p_chrv_rec.START_DATE IS NOT NULL AND
4190 p_chrv_rec.SIGN_BY_DATE IS NOT NULL)
4191 THEN
4192 --Bug 3720503 If (p_chrv_rec.END_DATE > p_chrv_rec.SIGN_BY_DATE) Then
4193 IF (p_chrv_rec.SIGN_BY_DATE > p_chrv_rec.END_DATE ) THEN
4194 -- notify caller of an error as UNEXPETED error
4195 l_return_status := OKC_API.G_RET_STS_ERROR;
4196 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4197 p_msg_name => 'OKC_INVALID_SIGN_END_DATES');
4198 END IF;
4199 END IF;
4200
4201 END IF;
4202 --Pricing date should not be than contract end date for advanced pricing
4203 IF ((l_return_status = OKC_API.G_RET_STS_SUCCESS) AND
4204 NVL(fnd_profile.VALUE('OKC_ADVANCED_PRICING'), 'N') = 'Y') THEN
4205 IF (p_chrv_rec.END_DATE IS NOT NULL AND
4206 p_chrv_rec.PRICING_DATE IS NOT NULL)
4207 THEN
4208 IF (p_chrv_rec.PRICING_DATE > p_chrv_rec.END_DATE) THEN
4209 -- notify caller of an error as UNEXPETED error
4210 l_return_status := OKC_API.G_RET_STS_ERROR;
4211 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
4212 p_msg_name => 'OKC_INVALID_PRICING_DATE');
4213 END IF;
4214 END IF;
4215 END IF;
4216
4217 RETURN (l_return_status);
4218 IF (l_debug = 'Y') THEN
4219 okc_debug.LOG('12000: Exiting Validate_Record', 2);
4220 okc_debug.Reset_Indentation;
4221 END IF;
4222
4223
4224 EXCEPTION
4225 WHEN NO_DATA_FOUND THEN
4226
4227 IF (l_debug = 'Y') THEN
4228 okc_debug.LOG('12100: Exiting Validate_Record:NO_DATA_FOUND Exception', 2);
4229 okc_debug.Reset_Indentation;
4230 END IF;
4231
4232 NULL;
4233
4234 END Validate_Record;
4235
4236 ---------------------------------------------------------------------------
4237 -- PROCEDURE Migrate
4238 ---------------------------------------------------------------------------
4239 PROCEDURE migrate (
4240 p_from IN chrv_rec_type,
4241 p_to IN OUT NOCOPY chr_rec_type
4242 ) IS
4243 BEGIN
4244
4245 IF (l_debug = 'Y') THEN
4246 okc_debug.Set_Indentation('OKC_CHR_PVT');
4247 okc_debug.LOG('12200: Entered migrate', 2);
4248 END IF;
4249
4250 p_to.id := p_from.id;
4251 p_to.contract_number := p_from.contract_number;
4252 p_to.authoring_org_id := p_from.authoring_org_id;
4253 -- p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4254 p_to.contract_number_modifier := p_from.contract_number_modifier;
4255 p_to.chr_id_response := p_from.chr_id_response;
4256 p_to.chr_id_award := p_from.chr_id_award;
4257 p_to.INV_ORGANIZATION_ID := p_from.INV_ORGANIZATION_ID;
4258 p_to.sts_code := p_from.sts_code;
4259 p_to.qcl_id := p_from.qcl_id;
4260 p_to.scs_code := p_from.scs_code;
4261 p_to.trn_code := p_from.trn_code;
4262 p_to.currency_code := p_from.currency_code;
4263 p_to.archived_yn := p_from.archived_yn;
4264 p_to.deleted_yn := p_from.deleted_yn;
4265 p_to.template_yn := p_from.template_yn;
4266 p_to.chr_type := p_from.chr_type;
4267 p_to.object_version_number := p_from.object_version_number;
4268 p_to.created_by := p_from.created_by;
4269 p_to.creation_date := p_from.creation_date;
4270 p_to.last_updated_by := p_from.last_updated_by;
4271 p_to.last_update_date := p_from.last_update_date;
4272 p_to.cust_po_number_req_yn := p_from.cust_po_number_req_yn;
4273 p_to.pre_pay_req_yn := p_from.pre_pay_req_yn;
4274 p_to.cust_po_number := p_from.cust_po_number;
4275 p_to.dpas_rating := p_from.dpas_rating;
4276 p_to.template_used := p_from.template_used;
4277 p_to.date_approved := p_from.date_approved;
4278 p_to.datetime_cancelled := p_from.datetime_cancelled;
4279 p_to.auto_renew_days := p_from.auto_renew_days;
4280 p_to.date_issued := p_from.date_issued;
4281 p_to.datetime_responded := p_from.datetime_responded;
4282 p_to.rfp_type := p_from.rfp_type;
4283 p_to.keep_on_mail_list := p_from.keep_on_mail_list;
4284 p_to.set_aside_percent := p_from.set_aside_percent;
4285 p_to.response_copies_req := p_from.response_copies_req;
4286 p_to.date_close_projected := p_from.date_close_projected;
4287 p_to.datetime_proposed := p_from.datetime_proposed;
4288 p_to.date_signed := p_from.date_signed;
4289 p_to.date_terminated := p_from.date_terminated;
4290 p_to.date_renewed := p_from.date_renewed;
4291 p_to.start_date := p_from.start_date;
4292 p_to.end_date := p_from.end_date;
4293 p_to.buy_or_sell := p_from.buy_or_sell;
4294 p_to.issue_or_receive := p_from.issue_or_receive;
4295 p_to.estimated_amount := p_from.estimated_amount;
4296 p_to.estimated_amount_renewed := p_from.estimated_amount_renewed;
4297 p_to.currency_code_renewed := p_from.currency_code_renewed;
4298 p_to.last_update_login := p_from.last_update_login;
4299 p_to.upg_orig_system_ref := p_from.upg_orig_system_ref;
4300 p_to.upg_orig_system_ref_id := p_from.upg_orig_system_ref_id;
4301 p_to.application_id := p_from.application_id;
4302 p_to.orig_system_source_code := p_from.orig_system_source_code;
4303 p_to.orig_system_id1 := p_from.orig_system_id1;
4304 p_to.orig_system_reference1 := p_from.orig_system_reference1 ;
4305 p_to.program_id := p_from.program_id;
4306 p_to.request_id := p_from.request_id;
4307 p_to.program_update_date := p_from.program_update_date;
4308 p_to.program_application_id := p_from.program_application_id;
4309 p_to.price_list_id := p_from.price_list_id;
4310 p_to.pricing_date := p_from.pricing_date;
4311 p_to.sign_by_date := p_from.sign_by_date;
4312 p_to.total_line_list_price := p_from.total_line_list_price;
4313 p_to.USER_ESTIMATED_AMOUNT := p_from.USER_ESTIMATED_AMOUNT;
4314 p_to.governing_contract_yn := p_from.governing_contract_yn;
4315 p_to.attribute_category := p_from.attribute_category;
4316 p_to.attribute1 := p_from.attribute1;
4317 p_to.attribute2 := p_from.attribute2;
4318 p_to.attribute3 := p_from.attribute3;
4319 p_to.attribute4 := p_from.attribute4;
4320 p_to.attribute5 := p_from.attribute5;
4321 p_to.attribute6 := p_from.attribute6;
4322 p_to.attribute7 := p_from.attribute7;
4323 p_to.attribute8 := p_from.attribute8;
4324 p_to.attribute9 := p_from.attribute9;
4325 p_to.attribute10 := p_from.attribute10;
4326 p_to.attribute11 := p_from.attribute11;
4327 p_to.attribute12 := p_from.attribute12;
4328 p_to.attribute13 := p_from.attribute13;
4329 p_to.attribute14 := p_from.attribute14;
4330 p_to.attribute15 := p_from.attribute15;
4331 --new columns to replace rules
4332 p_to.conversion_type := p_from.conversion_type;
4333 p_to.conversion_rate := p_from.conversion_rate;
4334 p_to.conversion_rate_date := p_from.conversion_rate_date;
4335 p_to.conversion_euro_rate := p_from.conversion_euro_rate;
4336 p_to.cust_acct_id := p_from.cust_acct_id;
4337 p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
4338 p_to.inv_rule_id := p_from.inv_rule_id;
4339 p_to.renewal_type_code := p_from.renewal_type_code;
4340 p_to.renewal_notify_to := p_from.renewal_notify_to;
4341 p_to.renewal_end_date := p_from.renewal_end_date;
4342 p_to.ship_to_site_use_id := p_from.ship_to_site_use_id;
4343 p_to.payment_term_id := p_from.payment_term_id;
4344 p_to.document_id := p_from.document_id;
4345
4346 -- R12 Data Model Changes 4485150 Start
4347 p_to.approval_type := p_from.approval_type;
4348 p_to.term_cancel_source := p_from.term_cancel_source;
4349 p_to.payment_instruction_type := p_from.payment_instruction_type;
4350 p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4351 -- R12 Data Model Changes 4485150 End
4352 p_to.cancelled_amount := p_from.cancelled_amount; -- LLC
4353
4354 END migrate;
4355 PROCEDURE migrate (
4356 p_from IN chr_rec_type,
4357 p_to IN OUT NOCOPY chrv_rec_type
4358 ) IS
4359 BEGIN
4360
4361 IF (l_debug = 'Y') THEN
4362 okc_debug.Set_Indentation('OKC_CHR_PVT');
4363 okc_debug.LOG('12300: Entered migrate', 2);
4364 END IF;
4365
4366 p_to.id := p_from.id;
4367 p_to.contract_number := p_from.contract_number;
4368 p_to.authoring_org_id := p_from.authoring_org_id;
4369 p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4370 p_to.contract_number_modifier := p_from.contract_number_modifier;
4371 p_to.chr_id_response := p_from.chr_id_response;
4372 p_to.chr_id_award := p_from.chr_id_award;
4373 p_to.INV_ORGANIZATION_ID := p_from.INV_ORGANIZATION_ID;
4374 p_to.sts_code := p_from.sts_code;
4375 p_to.qcl_id := p_from.qcl_id;
4376 p_to.scs_code := p_from.scs_code;
4377 p_to.trn_code := p_from.trn_code;
4378 p_to.currency_code := p_from.currency_code;
4379 p_to.archived_yn := p_from.archived_yn;
4380 p_to.deleted_yn := p_from.deleted_yn;
4381 p_to.template_yn := p_from.template_yn;
4382 p_to.chr_type := p_from.chr_type;
4383 p_to.object_version_number := p_from.object_version_number;
4384 p_to.created_by := p_from.created_by;
4385 p_to.creation_date := p_from.creation_date;
4386 p_to.last_updated_by := p_from.last_updated_by;
4387 p_to.last_update_date := p_from.last_update_date;
4388 p_to.cust_po_number_req_yn := p_from.cust_po_number_req_yn;
4389 p_to.pre_pay_req_yn := p_from.pre_pay_req_yn;
4390 p_to.cust_po_number := p_from.cust_po_number;
4391 p_to.dpas_rating := p_from.dpas_rating;
4392 p_to.template_used := p_from.template_used;
4393 p_to.date_approved := p_from.date_approved;
4394 p_to.datetime_cancelled := p_from.datetime_cancelled;
4395 p_to.auto_renew_days := p_from.auto_renew_days;
4396 p_to.date_issued := p_from.date_issued;
4397 p_to.datetime_responded := p_from.datetime_responded;
4398 p_to.rfp_type := p_from.rfp_type;
4399 p_to.keep_on_mail_list := p_from.keep_on_mail_list;
4400 p_to.set_aside_percent := p_from.set_aside_percent;
4401 p_to.response_copies_req := p_from.response_copies_req;
4402 p_to.date_close_projected := p_from.date_close_projected;
4403 p_to.datetime_proposed := p_from.datetime_proposed;
4404 p_to.date_signed := p_from.date_signed;
4405 p_to.date_terminated := p_from.date_terminated;
4406 p_to.date_renewed := p_from.date_renewed;
4407 p_to.start_date := p_from.start_date;
4408 p_to.end_date := p_from.end_date;
4409 p_to.buy_or_sell := p_from.buy_or_sell;
4410 p_to.issue_or_receive := p_from.issue_or_receive;
4411 p_to.estimated_amount := p_from.estimated_amount;
4412 p_to.estimated_amount_renewed := p_from.estimated_amount_renewed;
4413 p_to.currency_code_renewed := p_from.currency_code_renewed;
4414 p_to.last_update_login := p_from.last_update_login;
4415 p_to.upg_orig_system_ref := p_from.upg_orig_system_ref;
4416 p_to.upg_orig_system_ref_id := p_from.upg_orig_system_ref_id;
4417 p_to.application_id := p_from.application_id;
4418 p_to.orig_system_source_code := p_from.orig_system_source_code;
4419 p_to.orig_system_id1 := p_from.orig_system_id1;
4420 p_to.orig_system_reference1 := p_from.orig_system_reference1 ;
4421 p_to.program_id := p_from.program_id;
4422 p_to.request_id := p_from.request_id;
4423 p_to.program_update_date := p_from.program_update_date;
4424 p_to.program_application_id := p_from.program_application_id;
4425 p_to.price_list_id := p_from.price_list_id;
4426 p_to.pricing_date := p_from.pricing_date;
4427 p_to.sign_by_date := p_from.sign_by_date;
4428 p_to.total_line_list_price := p_from.total_line_list_price;
4429 p_to.USER_ESTIMATED_AMOUNT := p_from.USER_ESTIMATED_AMOUNT;
4430 p_to.GOVERNING_CONTRACT_YN := p_from.GOVERNING_CONTRACT_YN;
4431 p_to.attribute_category := p_from.attribute_category;
4432 p_to.attribute1 := p_from.attribute1;
4433 p_to.attribute2 := p_from.attribute2;
4434 p_to.attribute3 := p_from.attribute3;
4435 p_to.attribute4 := p_from.attribute4;
4436 p_to.attribute5 := p_from.attribute5;
4437 p_to.attribute6 := p_from.attribute6;
4438 p_to.attribute7 := p_from.attribute7;
4439 p_to.attribute8 := p_from.attribute8;
4440 p_to.attribute9 := p_from.attribute9;
4441 p_to.attribute10 := p_from.attribute10;
4442 p_to.attribute11 := p_from.attribute11;
4443 p_to.attribute12 := p_from.attribute12;
4444 p_to.attribute13 := p_from.attribute13;
4445 p_to.attribute14 := p_from.attribute14;
4446 p_to.attribute15 := p_from.attribute15;
4447 --new columns to replace rules
4448 p_to.conversion_type := p_from.conversion_type;
4449 p_to.conversion_rate := p_from.conversion_rate;
4450 p_to.conversion_rate_date := p_from.conversion_rate_date;
4451 p_to.conversion_euro_rate := p_from.conversion_euro_rate;
4452 p_to.cust_acct_id := p_from.cust_acct_id;
4453 p_to.bill_to_site_use_id := p_from.bill_to_site_use_id;
4454 p_to.inv_rule_id := p_from.inv_rule_id;
4455 p_to.renewal_type_code := p_from.renewal_type_code;
4456 p_to.renewal_notify_to := p_from.renewal_notify_to;
4457 p_to.renewal_end_date := p_from.renewal_end_date;
4458 p_to.ship_to_site_use_id := p_from.ship_to_site_use_id;
4459 p_to.payment_term_id := p_from.payment_term_id;
4460 p_to.document_id := p_from.document_id;
4461
4462 -- R12 Data Model Changes 4485150 Start
4463 p_to.approval_type := p_from.approval_type;
4464 p_to.term_cancel_source := p_from.term_cancel_source;
4465 p_to.payment_instruction_type := p_from.payment_instruction_type;
4466 p_to.org_id := p_from.org_id; --mmadhavi added for MOAC
4467 -- R12 Data Model Changes 4485150 End
4468 p_to.cancelled_amount := p_from.cancelled_amount; -- LLC
4469
4470 END migrate;
4471 PROCEDURE migrate (
4472 p_from IN chrv_rec_type,
4473 p_to IN OUT NOCOPY okc_k_headers_tl_rec_type
4474 ) IS
4475 BEGIN
4476
4477 IF (l_debug = 'Y') THEN
4478 okc_debug.Set_Indentation('OKC_CHR_PVT');
4479 okc_debug.LOG('12400: Entered migrate', 2);
4480 END IF;
4481
4482 p_to.id := p_from.id;
4483 p_to.sfwt_flag := p_from.sfwt_flag;
4484 p_to.short_description := p_from.short_description;
4485 p_to.comments := p_from.comments;
4486 p_to.description := p_from.description;
4487 p_to.cognomen := p_from.cognomen;
4488 p_to.non_response_reason := p_from.non_response_reason;
4489 p_to.non_response_explain := p_from.non_response_explain;
4490 p_to.set_aside_reason := p_from.set_aside_reason;
4491 p_to.created_by := p_from.created_by;
4492 p_to.creation_date := p_from.creation_date;
4493 p_to.last_updated_by := p_from.last_updated_by;
4494 p_to.last_update_date := p_from.last_update_date;
4495 p_to.last_update_login := p_from.last_update_login;
4496
4497 END migrate;
4498 PROCEDURE migrate (
4499 p_from IN okc_k_headers_tl_rec_type,
4500 p_to IN OUT NOCOPY chrv_rec_type
4501 ) IS
4502 BEGIN
4503
4504 IF (l_debug = 'Y') THEN
4505 okc_debug.Set_Indentation('OKC_CHR_PVT');
4506 okc_debug.LOG('12500: Entered migrate', 2);
4507 END IF;
4508
4509 p_to.id := p_from.id;
4510 p_to.sfwt_flag := p_from.sfwt_flag;
4511 p_to.short_description := p_from.short_description;
4512 p_to.comments := p_from.comments;
4513 p_to.description := p_from.description;
4514 p_to.cognomen := p_from.cognomen;
4515 p_to.non_response_reason := p_from.non_response_reason;
4516 p_to.non_response_explain := p_from.non_response_explain;
4517 p_to.set_aside_reason := p_from.set_aside_reason;
4518 p_to.created_by := p_from.created_by;
4519 p_to.creation_date := p_from.creation_date;
4520 p_to.last_updated_by := p_from.last_updated_by;
4521 p_to.last_update_date := p_from.last_update_date;
4522 p_to.last_update_login := p_from.last_update_login;
4523
4524 END migrate;
4525
4526 ---------------------------------------------------------------------------
4527 -- PROCEDURE validate_row
4528 ---------------------------------------------------------------------------
4529 --------------------------------------
4530 -- validate_row for:OKC_K_HEADERS_V --
4531 --------------------------------------
4532 PROCEDURE validate_row(
4533 p_api_version IN NUMBER,
4534 p_init_msg_list IN VARCHAR2,
4535 x_return_status OUT NOCOPY VARCHAR2,
4536 x_msg_count OUT NOCOPY NUMBER,
4537 x_msg_data OUT NOCOPY VARCHAR2,
4538 p_chrv_rec IN chrv_rec_type) IS
4539
4540 l_api_version CONSTANT NUMBER := 1;
4541 l_api_name CONSTANT VARCHAR2(30) := 'V_validate_row';
4542 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4543 l_chrv_rec chrv_rec_type := p_chrv_rec;
4544 l_chr_rec chr_rec_type;
4545 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
4546 BEGIN
4547
4548 IF (l_debug = 'Y') THEN
4549 okc_debug.Set_Indentation('OKC_CHR_PVT');
4550 okc_debug.LOG('12600: Entered validate_row', 2);
4551 END IF;
4552
4553 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4554 G_PKG_NAME,
4555 p_init_msg_list,
4556 l_api_version,
4557 p_api_version,
4558 '_PVT',
4559 x_return_status);
4560 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4561 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4562 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4563 RAISE OKC_API.G_EXCEPTION_ERROR;
4564 END IF;
4565
4566 IF p_chrv_rec.VALIDATE_YN = 'Y' THEN ---Bug#3150149
4567 --- Validate all non-missing attributes (Item Level Validation)
4568 l_return_status := Validate_Attributes(l_chrv_rec);
4569 END IF;
4570
4571 --- If any errors happen abort API
4572 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4573 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4574 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4575 RAISE OKC_API.G_EXCEPTION_ERROR;
4576 END IF;
4577 l_return_status := Validate_Record(l_chrv_rec);
4578 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4579 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4580 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4581 RAISE OKC_API.G_EXCEPTION_ERROR;
4582 END IF;
4583 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
4584 IF (l_debug = 'Y') THEN
4585 okc_debug.LOG('12700: Exiting validate_row', 2);
4586 okc_debug.Reset_Indentation;
4587 END IF;
4588
4589
4590 EXCEPTION
4591 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4592
4593 IF (l_debug = 'Y') THEN
4594 okc_debug.LOG('12800: Exiting validate_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
4595 okc_debug.Reset_Indentation;
4596 END IF;
4597
4598 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4599 (
4600 l_api_name,
4601 G_PKG_NAME,
4602 'OKC_API.G_RET_STS_ERROR',
4603 x_msg_count,
4604 x_msg_data,
4605 '_PVT'
4606 );
4607 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4608
4609 IF (l_debug = 'Y') THEN
4610 okc_debug.LOG('12900: Exiting validate_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
4611 okc_debug.Reset_Indentation;
4612 END IF;
4613
4614 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4615 (
4616 l_api_name,
4617 G_PKG_NAME,
4618 'OKC_API.G_RET_STS_UNEXP_ERROR',
4619 x_msg_count,
4620 x_msg_data,
4621 '_PVT'
4622 );
4623 WHEN OTHERS THEN
4624
4625 IF (l_debug = 'Y') THEN
4626 okc_debug.LOG('13000: Exiting validate_row:OTHERS Exception', 2);
4627 okc_debug.Reset_Indentation;
4628 END IF;
4629
4630 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4631 (
4632 l_api_name,
4633 G_PKG_NAME,
4634 'OTHERS',
4635 x_msg_count,
4636 x_msg_data,
4637 '_PVT'
4638 );
4639
4640 END validate_row;
4641 ------------------------------------------
4642 -- PL/SQL TBL validate_row for:CHRV_TBL --
4643 ------------------------------------------
4644 PROCEDURE validate_row(
4645 p_api_version IN NUMBER,
4646 p_init_msg_list IN VARCHAR2,
4647 x_return_status OUT NOCOPY VARCHAR2,
4648 x_msg_count OUT NOCOPY NUMBER,
4649 x_msg_data OUT NOCOPY VARCHAR2,
4650 p_chrv_tbl IN chrv_tbl_type) IS
4651
4652 l_api_version CONSTANT NUMBER := 1;
4653 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_validate_row';
4654 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4655 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4656 i NUMBER := 0;
4657 BEGIN
4658
4659 IF (l_debug = 'Y') THEN
4660 okc_debug.Set_Indentation('OKC_CHR_PVT');
4661 okc_debug.LOG('13100: Entered validate_row', 2);
4662 END IF;
4663
4664 OKC_API.init_msg_list(p_init_msg_list);
4665 -- Make sure PL/SQL table has records in it before passing
4666 IF (p_chrv_tbl.COUNT > 0) THEN
4667 i := p_chrv_tbl.FIRST;
4668 LOOP
4669 validate_row (
4670 p_api_version => p_api_version,
4671 p_init_msg_list => OKC_API.G_FALSE,
4672 x_return_status => x_return_status,
4673 x_msg_count => x_msg_count,
4674 x_msg_data => x_msg_data,
4675 p_chrv_rec => p_chrv_tbl(i));
4676
4677 -- store the highest degree of error
4678 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
4679 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
4680 l_overall_status := x_return_status;
4681 END IF;
4682 END IF;
4683
4684 EXIT WHEN (i = p_chrv_tbl.LAST);
4685 i := p_chrv_tbl.NEXT(i);
4686 END LOOP;
4687 -- return overall status
4688 x_return_status := l_overall_status;
4689 END IF;
4690 IF (l_debug = 'Y') THEN
4691 okc_debug.LOG('13200: Exiting validate_row', 2);
4692 okc_debug.Reset_Indentation;
4693 END IF;
4694
4695
4696 EXCEPTION
4697 WHEN OKC_API.G_EXCEPTION_ERROR THEN
4698
4699 IF (l_debug = 'Y') THEN
4700 okc_debug.LOG('13300: Exiting validate_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
4701 okc_debug.Reset_Indentation;
4702 END IF;
4703
4704 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4705 (
4706 l_api_name,
4707 G_PKG_NAME,
4708 'OKC_API.G_RET_STS_ERROR',
4709 x_msg_count,
4710 x_msg_data,
4711 '_PVT'
4712 );
4713 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4714
4715 IF (l_debug = 'Y') THEN
4716 okc_debug.LOG('13400: Exiting validate_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
4717 okc_debug.Reset_Indentation;
4718 END IF;
4719
4720 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4721 (
4722 l_api_name,
4723 G_PKG_NAME,
4724 'OKC_API.G_RET_STS_UNEXP_ERROR',
4725 x_msg_count,
4726 x_msg_data,
4727 '_PVT'
4728 );
4729 WHEN OTHERS THEN
4730
4731 IF (l_debug = 'Y') THEN
4732 okc_debug.LOG('13500: Exiting validate_row:OTHERS Exception', 2);
4733 okc_debug.Reset_Indentation;
4734 END IF;
4735
4736 x_return_status := OKC_API.HANDLE_EXCEPTIONS
4737 (
4738 l_api_name,
4739 G_PKG_NAME,
4740 'OTHERS',
4741 x_msg_count,
4742 x_msg_data,
4743 '_PVT'
4744 );
4745
4746 END validate_row;
4747
4748 ---------------------------------------------------------------------------
4749 -- PROCEDURE insert_row
4750 ---------------------------------------------------------------------------
4751 ------------------------------------
4752 -- insert_row for:OKC_K_HEADERS_ALL_B --
4753 ------------------------------------
4754 PROCEDURE insert_row(
4755 p_init_msg_list IN VARCHAR2,
4756 x_return_status OUT NOCOPY VARCHAR2,
4757 x_msg_count OUT NOCOPY NUMBER,
4758 x_msg_data OUT NOCOPY VARCHAR2,
4759 p_chr_rec IN chr_rec_type,
4760 x_chr_rec OUT NOCOPY chr_rec_type) IS
4761
4762 l_api_version CONSTANT NUMBER := 1;
4763 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
4764 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4765 l_chr_rec chr_rec_type := p_chr_rec;
4766 l_def_chr_rec chr_rec_type;
4767 ----------------------------------------
4768 -- Set_Attributes for:OKC_K_HEADERS_ALL_B --
4769 ----------------------------------------
4770 FUNCTION Set_Attributes (
4771 p_chr_rec IN chr_rec_type,
4772 x_chr_rec OUT NOCOPY chr_rec_type
4773 ) RETURN VARCHAR2 IS
4774 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
4775 BEGIN
4776
4777 IF (l_debug = 'Y') THEN
4778 okc_debug.Set_Indentation('OKC_CHR_PVT');
4779 okc_debug.LOG('13600: Entered Set_Attributes', 2);
4780 END IF;
4781
4782 x_chr_rec := p_chr_rec;
4783 RETURN(l_return_status);
4784
4785 END Set_Attributes;
4786 BEGIN
4787
4788 IF (l_debug = 'Y') THEN
4789 okc_debug.Set_Indentation('OKC_CHR_PVT');
4790 okc_debug.LOG('13700: Entered insert_row', 2);
4791 END IF;
4792
4793 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
4794 p_init_msg_list,
4795 '_PVT',
4796 x_return_status);
4797 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4798 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4799 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4800 RAISE OKC_API.G_EXCEPTION_ERROR;
4801 END IF;
4802 --- Setting item attributes
4803 l_return_status := Set_Attributes(
4804 p_chr_rec, -- IN
4805 l_chr_rec); -- OUT
4806 --- If any errors happen abort API
4807 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
4808 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
4809 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
4810 RAISE OKC_API.G_EXCEPTION_ERROR;
4811 END IF;
4812 INSERT INTO OKC_K_HEADERS_ALL_B( --mmadhavi changed to _ALL for MOAC
4813 id,
4814 contract_number,
4815 authoring_org_id,
4816 org_id, --mmadhavi added for MOAC
4817 contract_number_modifier,
4818 chr_id_response,
4819 chr_id_award,
4820 INV_ORGANIZATION_ID,
4821 sts_code,
4822 qcl_id,
4823 scs_code,
4824 trn_code,
4825 currency_code,
4826 archived_yn,
4827 deleted_yn,
4828 template_yn,
4829 chr_type,
4830 object_version_number,
4831 created_by,
4832 creation_date,
4833 last_updated_by,
4834 last_update_date,
4835 cust_po_number_req_yn,
4836 pre_pay_req_yn,
4837 cust_po_number,
4838 dpas_rating,
4839 template_used,
4840 date_approved,
4841 datetime_cancelled,
4842 auto_renew_days,
4843 date_issued,
4844 datetime_responded,
4845 rfp_type,
4846 keep_on_mail_list,
4847 set_aside_percent,
4848 response_copies_req,
4849 date_close_projected,
4850 datetime_proposed,
4851 date_signed,
4852 date_terminated,
4853 date_renewed,
4854 start_date,
4855 end_date,
4856 buy_or_sell,
4857 issue_or_receive,
4858 estimated_amount,
4859 estimated_amount_renewed,
4860 currency_code_renewed,
4861 last_update_login,
4862 upg_orig_system_ref,
4863 upg_orig_system_ref_id,
4864 application_id,
4865 orig_system_source_code,
4866 orig_system_id1,
4867 orig_system_reference1,
4868 program_id,
4869 request_id,
4870 program_update_date,
4871 program_application_id,
4872 price_list_id,
4873 pricing_date,
4874 sign_by_date,
4875 total_line_list_price,
4876 USER_ESTIMATED_AMOUNT,
4877 GOVERNING_CONTRACT_YN,
4878 attribute_category,
4879 attribute1,
4880 attribute2,
4881 attribute3,
4882 attribute4,
4883 attribute5,
4884 attribute6,
4885 attribute7,
4886 attribute8,
4887 attribute9,
4888 attribute10,
4889 attribute11,
4890 attribute12,
4891 attribute13,
4892 attribute14,
4893 attribute15,
4894 -- new columns to replace rules
4895 conversion_type,
4896 conversion_rate,
4897 conversion_rate_date,
4898 conversion_euro_rate,
4899 cust_acct_id,
4900 bill_to_site_use_id,
4901 inv_rule_id,
4902 renewal_type_code,
4903 renewal_notify_to,
4904 renewal_end_date,
4905 ship_to_site_use_id,
4906 payment_term_id,
4907 document_id,
4908 -- R12 Data Model Changes 4485150 Start
4909 approval_type,
4910 term_cancel_source,
4911 payment_instruction_type,
4912 -- R12 Data Model Changes 4485150 End
4913 billed_at_source
4914 )
4915 VALUES (
4916 l_chr_rec.id,
4917 l_chr_rec.contract_number,
4918 --l_chr_rec.authoring_org_id,
4919 l_chr_rec.authoring_org_id,
4920 l_chr_rec.org_id, --mmadhavi added for MOAC
4921 l_chr_rec.contract_number_modifier,
4922 l_chr_rec.chr_id_response,
4923 l_chr_rec.chr_id_award,
4924 l_chr_rec.INV_ORGANIZATION_ID,
4925 l_chr_rec.sts_code,
4926 l_chr_rec.qcl_id,
4927 l_chr_rec.scs_code,
4928 l_chr_rec.trn_code,
4929 l_chr_rec.currency_code,
4930 l_chr_rec.archived_yn,
4931 l_chr_rec.deleted_yn,
4932 l_chr_rec.template_yn,
4933 l_chr_rec.chr_type,
4934 l_chr_rec.object_version_number,
4935 l_chr_rec.created_by,
4936 l_chr_rec.creation_date,
4937 l_chr_rec.last_updated_by,
4938 l_chr_rec.last_update_date,
4939 l_chr_rec.cust_po_number_req_yn,
4940 l_chr_rec.pre_pay_req_yn,
4941 l_chr_rec.cust_po_number,
4942 l_chr_rec.dpas_rating,
4943 l_chr_rec.template_used,
4944 l_chr_rec.date_approved,
4945 l_chr_rec.datetime_cancelled,
4946 l_chr_rec.auto_renew_days,
4947 l_chr_rec.date_issued,
4948 l_chr_rec.datetime_responded,
4949 l_chr_rec.rfp_type,
4950 l_chr_rec.keep_on_mail_list,
4951 l_chr_rec.set_aside_percent,
4952 l_chr_rec.response_copies_req,
4953 l_chr_rec.date_close_projected,
4954 l_chr_rec.datetime_proposed,
4955 l_chr_rec.date_signed,
4956 l_chr_rec.date_terminated,
4957 l_chr_rec.date_renewed,
4958 l_chr_rec.start_date,
4959 l_chr_rec.end_date,
4960 l_chr_rec.buy_or_sell,
4961 l_chr_rec.issue_or_receive,
4962 l_chr_rec.estimated_amount,
4963 l_chr_rec.estimated_amount_renewed,
4964 l_chr_rec.currency_code_renewed,
4965 l_chr_rec.last_update_login,
4966 l_chr_rec.upg_orig_system_ref,
4967 l_chr_rec.upg_orig_system_ref_id,
4968 l_chr_rec.application_id,
4969 l_chr_rec.orig_system_source_code,
4970 l_chr_rec.orig_system_id1,
4971 l_chr_rec.orig_system_reference1,
4972 decode(FND_GLOBAL.CONC_PROGRAM_ID, - 1, NULL, FND_GLOBAL.CONC_PROGRAM_ID),
4973 decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, FND_GLOBAL.CONC_REQUEST_ID),
4974 decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, SYSDATE),
4975 decode(FND_GLOBAL.PROG_APPL_ID, - 1, NULL, FND_GLOBAL.PROG_APPL_ID),
4976 l_chr_rec.price_list_id,
4977 l_chr_rec.pricing_date,
4978 l_chr_rec.sign_by_date,
4979 l_chr_rec.total_line_list_price,
4980 l_chr_rec.USER_ESTIMATED_AMOUNT,
4981 l_chr_rec.GOVERNING_CONTRACT_YN,
4982 l_chr_rec.attribute_category,
4983 l_chr_rec.attribute1,
4984 l_chr_rec.attribute2,
4985 l_chr_rec.attribute3,
4986 l_chr_rec.attribute4,
4987 l_chr_rec.attribute5,
4988 l_chr_rec.attribute6,
4989 l_chr_rec.attribute7,
4990 l_chr_rec.attribute8,
4991 l_chr_rec.attribute9,
4992 l_chr_rec.attribute10,
4993 l_chr_rec.attribute11,
4994 l_chr_rec.attribute12,
4995 l_chr_rec.attribute13,
4996 l_chr_rec.attribute14,
4997 l_chr_rec.attribute15,
4998 -- new columns to replace rules
4999 l_chr_rec.conversion_type,
5000 l_chr_rec.conversion_rate,
5001 l_chr_rec.conversion_rate_date,
5002 l_chr_rec.conversion_euro_rate,
5003 l_chr_rec.cust_acct_id,
5004 l_chr_rec.bill_to_site_use_id,
5005 l_chr_rec.inv_rule_id,
5006 l_chr_rec.renewal_type_code,
5007 l_chr_rec.renewal_notify_to,
5008 l_chr_rec.renewal_end_date,
5009 l_chr_rec.ship_to_site_use_id,
5010 l_chr_rec.payment_term_id,
5011 l_chr_rec.id,
5012 -- R12 Data Model Changes 4485150 Start
5013 l_chr_rec.approval_type,
5014 l_chr_rec.term_cancel_source,
5015 l_chr_rec.payment_instruction_type,
5016 -- R12 Data Model Changes 4485150 End
5017 l_chr_rec.billed_at_source
5018 );
5019 -- Set OUT values
5020 x_chr_rec := l_chr_rec;
5021 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5022 IF (l_debug = 'Y') THEN
5023 okc_debug.LOG('13800: Exiting insert_row', 2);
5024 okc_debug.Reset_Indentation;
5025 END IF;
5026
5027
5028 EXCEPTION
5029 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5030
5031 IF (l_debug = 'Y') THEN
5032 okc_debug.LOG('13900: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5033 okc_debug.Reset_Indentation;
5034 END IF;
5035
5036 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5037 (
5038 l_api_name,
5039 G_PKG_NAME,
5040 'OKC_API.G_RET_STS_ERROR',
5041 x_msg_count,
5042 x_msg_data,
5043 '_PVT'
5044 );
5045 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5046
5047 IF (l_debug = 'Y') THEN
5048 okc_debug.LOG('14000: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5049 okc_debug.Reset_Indentation;
5050 END IF;
5051
5052 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5053 (
5054 l_api_name,
5055 G_PKG_NAME,
5056 'OKC_API.G_RET_STS_UNEXP_ERROR',
5057 x_msg_count,
5058 x_msg_data,
5059 '_PVT'
5060 );
5061 WHEN OTHERS THEN
5062
5063 IF (l_debug = 'Y') THEN
5064 okc_debug.LOG('14100: Exiting insert_row:OTHERS Exception', 2);
5065 okc_debug.Reset_Indentation;
5066 END IF;
5067
5068 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5069 (
5070 l_api_name,
5071 G_PKG_NAME,
5072 'OTHERS',
5073 x_msg_count,
5074 x_msg_data,
5075 '_PVT'
5076 );
5077
5078 END insert_row;
5079 -------------------------------------
5080 -- insert_row for:OKC_K_HEADERS_TL --
5081 -------------------------------------
5082 PROCEDURE insert_row(
5083 p_init_msg_list IN VARCHAR2,
5084 x_return_status OUT NOCOPY VARCHAR2,
5085 x_msg_count OUT NOCOPY NUMBER,
5086 x_msg_data OUT NOCOPY VARCHAR2,
5087 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
5088 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type) IS
5089
5090 l_api_version CONSTANT NUMBER := 1;
5091 l_api_name CONSTANT VARCHAR2(30) := 'TL_insert_row';
5092 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5093 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type := p_okc_k_headers_tl_rec;
5094 l_def_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5095 CURSOR get_languages IS
5096 SELECT *
5097 FROM FND_LANGUAGES
5098 WHERE INSTALLED_FLAG IN ('I', 'B');
5099 -----------------------------------------
5100 -- Set_Attributes for:OKC_K_HEADERS_TL --
5101 -----------------------------------------
5102 FUNCTION Set_Attributes (
5103 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
5104 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
5105 ) RETURN VARCHAR2 IS
5106 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5107 BEGIN
5108
5109 IF (l_debug = 'Y') THEN
5110 okc_debug.Set_Indentation('OKC_CHR_PVT');
5111 okc_debug.LOG('14200: Entered Set_Attributes', 2);
5112 END IF;
5113
5114 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
5115 x_okc_k_headers_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
5116 x_okc_k_headers_tl_rec.SOURCE_LANG := okc_util.get_userenv_lang;
5117 RETURN(l_return_status);
5118
5119 END Set_Attributes;
5120 BEGIN
5121
5122 IF (l_debug = 'Y') THEN
5123 okc_debug.Set_Indentation('OKC_CHR_PVT');
5124 okc_debug.LOG('14300: Entered insert_row', 2);
5125 END IF;
5126
5127 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5128 p_init_msg_list,
5129 '_PVT',
5130 x_return_status);
5131 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5132 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5133 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5134 RAISE OKC_API.G_EXCEPTION_ERROR;
5135 END IF;
5136 --- Setting item attributes
5137 l_return_status := Set_Attributes(
5138 p_okc_k_headers_tl_rec, -- IN
5139 l_okc_k_headers_tl_rec); -- OUT
5140 --- If any errors happen abort API
5141 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5142 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5143 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5144 RAISE OKC_API.G_EXCEPTION_ERROR;
5145 END IF;
5146 FOR l_lang_rec IN get_languages LOOP
5147 l_okc_k_headers_tl_rec.language := l_lang_rec.language_code;
5148 INSERT INTO OKC_K_HEADERS_TL(
5149 id,
5150 language,
5151 source_lang,
5152 sfwt_flag,
5153 short_description,
5154 comments,
5155 description,
5156 cognomen,
5157 non_response_reason,
5158 non_response_explain,
5159 set_aside_reason,
5160 created_by,
5161 creation_date,
5162 last_updated_by,
5163 last_update_date,
5164 last_update_login)
5165 VALUES (
5166 l_okc_k_headers_tl_rec.id,
5167 l_okc_k_headers_tl_rec.language,
5168 l_okc_k_headers_tl_rec.source_lang,
5169 l_okc_k_headers_tl_rec.sfwt_flag,
5170 l_okc_k_headers_tl_rec.short_description,
5171 l_okc_k_headers_tl_rec.comments,
5172 l_okc_k_headers_tl_rec.description,
5173 l_okc_k_headers_tl_rec.cognomen,
5174 l_okc_k_headers_tl_rec.non_response_reason,
5175 l_okc_k_headers_tl_rec.non_response_explain,
5176 l_okc_k_headers_tl_rec.set_aside_reason,
5177 l_okc_k_headers_tl_rec.created_by,
5178 l_okc_k_headers_tl_rec.creation_date,
5179 l_okc_k_headers_tl_rec.last_updated_by,
5180 l_okc_k_headers_tl_rec.last_update_date,
5181 l_okc_k_headers_tl_rec.last_update_login);
5182 END LOOP;
5183 -- Set OUT values
5184 x_okc_k_headers_tl_rec := l_okc_k_headers_tl_rec;
5185 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5186 IF (l_debug = 'Y') THEN
5187 okc_debug.LOG('14400: Exiting insert_row', 2);
5188 okc_debug.Reset_Indentation;
5189 END IF;
5190
5191
5192 EXCEPTION
5193 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5194
5195 IF (l_debug = 'Y') THEN
5196 okc_debug.LOG('14500: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5197 okc_debug.Reset_Indentation;
5198 END IF;
5199
5200 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5201 (
5202 l_api_name,
5203 G_PKG_NAME,
5204 'OKC_API.G_RET_STS_ERROR',
5205 x_msg_count,
5206 x_msg_data,
5207 '_PVT'
5208 );
5209 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5210
5211 IF (l_debug = 'Y') THEN
5212 okc_debug.LOG('14600: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_ERROR Exception', 2);
5213 okc_debug.Reset_Indentation;
5214 END IF;
5215
5216 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5217 (
5218 l_api_name,
5219 G_PKG_NAME,
5220 'OKC_API.G_RET_STS_UNEXP_ERROR',
5221 x_msg_count,
5222 x_msg_data,
5223 '_PVT'
5224 );
5225 WHEN OTHERS THEN
5226
5227 IF (l_debug = 'Y') THEN
5228 okc_debug.LOG('14700: Exiting insert_row:OTHERS Exception', 2);
5229 okc_debug.Reset_Indentation;
5230 END IF;
5231
5232 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5233 (
5234 l_api_name,
5235 G_PKG_NAME,
5236 'OTHERS',
5237 x_msg_count,
5238 x_msg_data,
5239 '_PVT'
5240 );
5241
5242 END insert_row;
5243 ------------------------------------
5244 -- insert_row for:OKC_K_HEADERS_V --
5245 ------------------------------------
5246 PROCEDURE insert_row(
5247 p_api_version IN NUMBER,
5248 p_init_msg_list IN VARCHAR2,
5249 x_return_status OUT NOCOPY VARCHAR2,
5250 x_msg_count OUT NOCOPY NUMBER,
5251 x_msg_data OUT NOCOPY VARCHAR2,
5252 p_chrv_rec IN chrv_rec_type,
5253 x_chrv_rec OUT NOCOPY chrv_rec_type) IS
5254
5255 l_api_version CONSTANT NUMBER := 1;
5256 l_api_name CONSTANT VARCHAR2(30) := 'V_insert_row';
5257 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5258 l_chrv_rec chrv_rec_type;
5259 l_def_chrv_rec chrv_rec_type;
5260 l_chr_rec chr_rec_type;
5261 lx_chr_rec chr_rec_type;
5262 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5263 lx_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5264 -------------------------------
5265 -- FUNCTION fill_who_columns --
5266 -------------------------------
5267 FUNCTION fill_who_columns (
5268 p_chrv_rec IN chrv_rec_type
5269 ) RETURN chrv_rec_type IS
5270 l_chrv_rec chrv_rec_type := p_chrv_rec;
5271 BEGIN
5272
5273 IF (l_debug = 'Y') THEN
5274 okc_debug.Set_Indentation('OKC_CHR_PVT');
5275 okc_debug.LOG('14800: Entered fill_who_columns', 2);
5276 END IF;
5277
5278 l_chrv_rec.CREATION_DATE := SYSDATE;
5279 l_chrv_rec.CREATED_BY := FND_GLOBAL.USER_ID;
5280 l_chrv_rec.LAST_UPDATE_DATE := l_chrv_rec.CREATION_DATE;
5281 l_chrv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
5282 l_chrv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
5283 RETURN(l_chrv_rec);
5284
5285 END fill_who_columns;
5286 ----------------------------------------
5287 -- Set_Attributes for:OKC_K_HEADERS_V --
5288 ----------------------------------------
5289 FUNCTION Set_Attributes (
5290 p_chrv_rec IN chrv_rec_type,
5291 x_chrv_rec OUT NOCOPY chrv_rec_type
5292 ) RETURN VARCHAR2 IS
5293 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5294 CURSOR l_app_csr(p_scs_code VARCHAR2) IS
5295 SELECT application_id
5296 FROM okc_classes_b cls, okc_subclasses_b scs
5297 WHERE cls.code = scs.cls_code
5298 AND scs.code = p_scs_code;
5299 BEGIN
5300
5301 IF (l_debug = 'Y') THEN
5302 okc_debug.Set_Indentation('OKC_CHR_PVT');
5303 okc_debug.LOG('14900: Entered Set_Attributes', 2);
5304 END IF;
5305
5306 x_chrv_rec := p_chrv_rec;
5307 x_chrv_rec.OBJECT_VERSION_NUMBER := 1;
5308 x_chrv_rec.SFWT_FLAG := 'N';
5309 /************************ HAND-CODED *********************************/
5310 x_chrv_rec.ARCHIVED_YN := UPPER(x_chrv_rec.ARCHIVED_YN);
5311 x_chrv_rec.DELETED_YN := UPPER(x_chrv_rec.DELETED_YN);
5312 x_chrv_rec.CUST_PO_NUMBER_REQ_YN := UPPER(x_chrv_rec.CUST_PO_NUMBER_REQ_YN);
5313 x_chrv_rec.PRE_PAY_REQ_YN := UPPER(x_chrv_rec.PRE_PAY_REQ_YN);
5314 x_chrv_rec.TEMPLATE_YN := UPPER(x_chrv_rec.TEMPLATE_YN);
5315 x_chrv_rec.TEMPLATE_USED := UPPER(x_chrv_rec.TEMPLATE_USED);
5316 x_chrv_rec.KEEP_ON_MAIL_LIST := UPPER(x_chrv_rec.KEEP_ON_MAIL_LIST);
5317 --Supports only CYA in this release
5318 x_chrv_rec.CHR_TYPE := 'CYA';
5319 x_chrv_rec.AUTHORING_ORG_ID := nvl(OKC_CONTEXT.GET_OKC_ORG_ID, - 99);
5320 x_chrv_rec.ORG_ID := nvl(OKC_CONTEXT.GET_OKC_ORG_ID, - 99); --mmadhavi added for MOAC
5321 x_chrv_rec.INV_ORGANIZATION_ID := nvl(OKC_CONTEXT.GET_OKC_ORGANIZATION_ID, - 99);
5322 /* Bug 3652127 */
5323 -- populate application id
5324 OPEN l_app_csr(p_chrv_rec.scs_code);
5325 FETCH l_app_csr INTO l_application_id;
5326 CLOSE l_app_csr;
5327
5328 x_chrv_rec.application_id := l_application_id;
5329 /*********************** END HAND-CODED ********************************/
5330 RETURN(l_return_status);
5331
5332 END Set_Attributes;
5333 BEGIN
5334
5335 IF (l_debug = 'Y') THEN
5336 okc_debug.Set_Indentation('OKC_CHR_PVT');
5337 okc_debug.LOG('15000: Entered insert_row', 2);
5338 END IF;
5339
5340 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5341 G_PKG_NAME,
5342 p_init_msg_list,
5343 l_api_version,
5344 p_api_version,
5345 '_PVT',
5346 x_return_status);
5347 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5348 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5349 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5350 RAISE OKC_API.G_EXCEPTION_ERROR;
5351 END IF;
5352 l_chrv_rec := null_out_defaults(p_chrv_rec);
5353 -- Set primary key value
5354 l_chrv_rec.ID := get_seq_id;
5355 l_chrv_rec.DOCUMENT_ID := l_chrv_rec.ID;
5356 --- Setting item attributes
5357 l_return_status := Set_Attributes(
5358 l_chrv_rec, -- IN
5359 l_def_chrv_rec); -- OUT
5360 --- If any errors happen abort API
5361 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5362 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5363 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5364 RAISE OKC_API.G_EXCEPTION_ERROR;
5365 END IF;
5366 l_def_chrv_rec := fill_who_columns(l_def_chrv_rec);
5367
5368 IF p_chrv_rec.VALIDATE_YN = 'Y' THEN ---Bug#3150149
5369 --- Validate all non-missing attributes (Item Level Validation)
5370 l_return_status := Validate_Attributes(l_def_chrv_rec);
5371 END IF; ---Bug#3150149
5372
5373 --- If any errors happen abort API
5374 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5375 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5376 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5377 RAISE OKC_API.G_EXCEPTION_ERROR;
5378 END IF;
5379 l_return_status := Validate_Record(l_def_chrv_rec);
5380 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5381 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5382 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5383 RAISE OKC_API.G_EXCEPTION_ERROR;
5384 END IF;
5385 --------------------------------------
5386 -- Move VIEW record to "Child" records
5387 --------------------------------------
5388 migrate(l_def_chrv_rec, l_chr_rec);
5389 migrate(l_def_chrv_rec, l_okc_k_headers_tl_rec);
5390
5391 --------------------------------------------
5392 -- Call the INSERT_ROW for each child record
5393 --------------------------------------------
5394 insert_row(
5395 p_init_msg_list,
5396 x_return_status,
5397 x_msg_count,
5398 x_msg_data,
5399 l_chr_rec,
5400 lx_chr_rec
5401 );
5402 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5403 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5404 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5405 RAISE OKC_API.G_EXCEPTION_ERROR;
5406 END IF;
5407 migrate(lx_chr_rec, l_def_chrv_rec);
5408 insert_row(
5409 p_init_msg_list,
5410 x_return_status,
5411 x_msg_count,
5412 x_msg_data,
5413 l_okc_k_headers_tl_rec,
5414 lx_okc_k_headers_tl_rec
5415 );
5416 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5417 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5418 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5419 RAISE OKC_API.G_EXCEPTION_ERROR;
5420 END IF;
5421 migrate(lx_okc_k_headers_tl_rec, l_def_chrv_rec);
5422 -- Set OUT values
5423 x_chrv_rec := l_def_chrv_rec;
5424 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5425 IF (l_debug = 'Y') THEN
5426 okc_debug.LOG('15100: Exiting insert_row', 2);
5427 okc_debug.Reset_Indentation;
5428 END IF;
5429
5430
5431 EXCEPTION
5432 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5433
5434 IF (l_debug = 'Y') THEN
5435 okc_debug.LOG('15200: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5436 okc_debug.Reset_Indentation;
5437 END IF;
5438
5439 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5440 (
5441 l_api_name,
5442 G_PKG_NAME,
5443 'OKC_API.G_RET_STS_ERROR',
5444 x_msg_count,
5445 x_msg_data,
5446 '_PVT'
5447 );
5448 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5449
5450 IF (l_debug = 'Y') THEN
5451 okc_debug.LOG('15300: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5460 x_msg_count,
5461 x_msg_data,
5462 '_PVT'
5463 );
5464 WHEN OTHERS THEN
5465
5466 IF (l_debug = 'Y') THEN
5467 okc_debug.LOG('15400: Exiting insert_row:OTHERS 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 'OTHERS',
5476 x_msg_count,
5477 x_msg_data,
5478 '_PVT'
5479 );
5480
5481 END insert_row;
5482 ----------------------------------------
5483 -- PL/SQL TBL insert_row for:CHRV_TBL --
5484 ----------------------------------------
5485 PROCEDURE insert_row(
5486 p_api_version IN NUMBER,
5487 p_init_msg_list IN VARCHAR2,
5488 x_return_status OUT NOCOPY VARCHAR2,
5489 x_msg_count OUT NOCOPY NUMBER,
5490 x_msg_data OUT NOCOPY VARCHAR2,
5491 p_chrv_tbl IN chrv_tbl_type,
5492 x_chrv_tbl OUT NOCOPY chrv_tbl_type) IS
5493
5494 l_api_version CONSTANT NUMBER := 1;
5495 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_insert_row';
5496 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5497 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5498 i NUMBER := 0;
5499 l_chrv_rec OKC_CHR_PVT.chrv_rec_type;
5500 BEGIN
5501
5502 IF (l_debug = 'Y') THEN
5503 okc_debug.Set_Indentation('OKC_CHR_PVT');
5504 okc_debug.LOG('15500: Entered insert_row', 2);
5505 END IF;
5506
5507 OKC_API.init_msg_list(p_init_msg_list);
5508 -- Make sure PL/SQL table has records in it before passing
5509 IF (p_chrv_tbl.COUNT > 0) THEN
5510 i := p_chrv_tbl.FIRST;
5511 LOOP
5512 /************************ HAND-CODED ***************************/
5513 x_return_status := OKC_API.G_RET_STS_SUCCESS;
5514 l_chrv_rec := p_chrv_tbl(i);
5515 -- if contract number is null, polpulate default contract number
5516 IF (l_chrv_rec.contract_number = OKC_API.G_MISS_CHAR OR
5517 l_chrv_rec.contract_number IS NULL)
5518 THEN
5519
5520 OKC_CONTRACT_PVT.GENERATE_CONTRACT_NUMBER(
5521 p_scs_code => l_chrv_rec.scs_code,
5522 p_modifier => l_chrv_rec.contract_number_modifier,
5523 x_return_status => x_return_status,
5524 x_contract_number => l_chrv_rec.contract_number);
5525
5526 IF (x_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
5527 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
5528 p_msg_name => g_unexpected_error,
5529 p_token1 => g_sqlcode_token,
5530 p_token1_value => SQLCODE,
5531 p_token2 => g_sqlerrm_token,
5532 p_token2_value => SQLERRM);
5533 END IF;
5534 END IF;
5535
5536 IF (x_return_status = OKC_API.G_RET_STS_SUCCESS) THEN
5537 insert_row (
5538 p_api_version => p_api_version,
5539 p_init_msg_list => p_init_msg_list,
5540 x_return_status => x_return_status,
5541 x_msg_count => x_msg_count,
5542 x_msg_data => x_msg_data,
5543 p_chrv_rec => l_chrv_rec,
5544 x_chrv_rec => x_chrv_tbl(i));
5545 END IF;
5546
5547 -- store the highest degree of error
5548 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
5549 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
5550 l_overall_status := x_return_status;
5551 END IF;
5552 END IF;
5553 /*********************** END HAND-CODED ************************/
5554 EXIT WHEN (i = p_chrv_tbl.LAST);
5555 i := p_chrv_tbl.NEXT(i);
5556 END LOOP;
5557 -- return overall status
5558 x_return_status := l_overall_status;
5559 END IF;
5560 IF (l_debug = 'Y') THEN
5561 okc_debug.LOG('15600: Exiting insert_row', 2);
5562 okc_debug.Reset_Indentation;
5563 END IF;
5564
5565
5566 EXCEPTION
5567 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5568
5569 IF (l_debug = 'Y') THEN
5570 okc_debug.LOG('15700: Exiting insert_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5571 okc_debug.Reset_Indentation;
5572 END IF;
5573
5574 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5575 (
5576 l_api_name,
5577 G_PKG_NAME,
5578 'OKC_API.G_RET_STS_ERROR',
5579 x_msg_count,
5580 x_msg_data,
5581 '_PVT'
5582 );
5583 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5584
5585 IF (l_debug = 'Y') THEN
5586 okc_debug.LOG('15800: Exiting insert_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5595 x_msg_count,
5596 x_msg_data,
5597 '_PVT'
5598 );
5599 WHEN OTHERS THEN
5600
5601 IF (l_debug = 'Y') THEN
5602 okc_debug.LOG('15900: Exiting insert_row:OTHERS 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 'OTHERS',
5611 x_msg_count,
5612 x_msg_data,
5613 '_PVT'
5614 );
5615
5616 END insert_row;
5617
5618 ---------------------------------------------------------------------------
5619 -- PROCEDURE lock_row
5620 ---------------------------------------------------------------------------
5621 ----------------------------------
5622 -- lock_row for:OKC_K_HEADERS_ALL_B --
5623 ----------------------------------
5624 PROCEDURE lock_row(
5625 p_init_msg_list IN VARCHAR2,
5626 x_return_status OUT NOCOPY VARCHAR2,
5627 x_msg_count OUT NOCOPY NUMBER,
5628 x_msg_data OUT NOCOPY VARCHAR2,
5629 p_chr_rec IN chr_rec_type) IS
5630
5631 E_Resource_Busy EXCEPTION;
5632 PRAGMA EXCEPTION_INIT(E_Resource_Busy, - 00054);
5633 CURSOR lock_csr (p_chr_rec IN chr_rec_type) IS
5634 SELECT OBJECT_VERSION_NUMBER
5635 FROM OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
5636 WHERE ID = p_chr_rec.id
5637 AND OBJECT_VERSION_NUMBER = p_chr_rec.object_version_number
5638 FOR UPDATE OF OBJECT_VERSION_NUMBER NOWAIT;
5639
5640 CURSOR lchk_csr (p_chr_rec IN chr_rec_type) IS
5641 SELECT OBJECT_VERSION_NUMBER
5642 FROM OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
5643 WHERE ID = p_chr_rec.id;
5644 l_api_version CONSTANT NUMBER := 1;
5645 l_api_name CONSTANT VARCHAR2(30) := 'B_lock_row';
5646 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5647 l_object_version_number OKC_K_HEADERS_B.OBJECT_VERSION_NUMBER%TYPE;
5648 lc_object_version_number OKC_K_HEADERS_B.OBJECT_VERSION_NUMBER%TYPE;
5649 l_row_notfound BOOLEAN := FALSE;
5650 lc_row_notfound BOOLEAN := FALSE;
5651 BEGIN
5652
5653 IF (l_debug = 'Y') THEN
5654 okc_debug.Set_Indentation('OKC_CHR_PVT');
5655 okc_debug.LOG('16000: Entered lock_row', 2);
5656 END IF;
5657
5658 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5659 p_init_msg_list,
5660 '_PVT',
5661 x_return_status);
5662 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5663 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5664 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5665 RAISE OKC_API.G_EXCEPTION_ERROR;
5666 END IF;
5667 BEGIN
5668
5669 IF (l_debug = 'Y') THEN
5670 okc_debug.Set_Indentation('OKC_CHR_PVT');
5671 okc_debug.LOG('16100: Entered lock_row', 2);
5672 END IF;
5673
5674 OPEN lock_csr(p_chr_rec);
5675 FETCH lock_csr INTO l_object_version_number;
5676 l_row_notfound := lock_csr%NOTFOUND;
5677 CLOSE lock_csr;
5678 IF (l_debug = 'Y') THEN
5679 okc_debug.LOG('16200: Exiting lock_row', 2);
5680 okc_debug.Reset_Indentation;
5681 END IF;
5682
5683
5684 EXCEPTION
5685 WHEN E_Resource_Busy THEN
5686
5687 IF (l_debug = 'Y') THEN
5688 okc_debug.LOG('16300: Exiting lock_row:E_Resource_Busy Exception', 2);
5689 okc_debug.Reset_Indentation;
5690 END IF;
5691
5692 IF (lock_csr%ISOPEN) THEN
5693 CLOSE lock_csr;
5694 END IF;
5695 OKC_API.set_message(G_FND_APP, G_FORM_UNABLE_TO_RESERVE_REC);
5696 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
5697 END;
5698
5699 IF (l_row_notfound ) THEN
5700 OPEN lchk_csr(p_chr_rec);
5701 FETCH lchk_csr INTO lc_object_version_number;
5702 lc_row_notfound := lchk_csr%NOTFOUND;
5703 CLOSE lchk_csr;
5704 END IF;
5705 IF (lc_row_notfound) THEN
5706 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_DELETED');
5707 RAISE OKC_API.G_EXCEPTION_ERROR;
5708 ELSIF lc_object_version_number > p_chr_rec.object_version_number THEN
5709 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_CHANGED');
5710 RAISE OKC_API.G_EXCEPTION_ERROR;
5711 ELSIF lc_object_version_number <> p_chr_rec.object_version_number THEN
5712 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_CHANGED');
5713 RAISE OKC_API.G_EXCEPTION_ERROR;
5714 ELSIF lc_object_version_number = - 1 THEN
5715 OKC_API.set_message(G_FND_APP, G_RECORD_LOGICALLY_DELETED);
5716 RAISE OKC_API.G_EXCEPTION_ERROR;
5717 END IF;
5718 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5719 IF (l_debug = 'Y') THEN
5720 okc_debug.LOG('16400: Exiting lock_row', 2);
5721 okc_debug.Reset_Indentation;
5722 END IF;
5723
5724
5725 EXCEPTION
5726 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5727
5728 IF (l_debug = 'Y') THEN
5729 okc_debug.LOG('16500: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5730 okc_debug.Reset_Indentation;
5731 END IF;
5732
5733 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5734 (
5735 l_api_name,
5736 G_PKG_NAME,
5737 'OKC_API.G_RET_STS_ERROR',
5738 x_msg_count,
5739 x_msg_data,
5740 '_PVT'
5741 );
5742 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5743
5744 IF (l_debug = 'Y') THEN
5745 okc_debug.LOG('16600: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5754 x_msg_count,
5755 x_msg_data,
5756 '_PVT'
5757 );
5758 WHEN OTHERS THEN
5759
5760 IF (l_debug = 'Y') THEN
5761 okc_debug.LOG('16700: Exiting lock_row:OTHERS 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 'OTHERS',
5770 x_msg_count,
5771 x_msg_data,
5772 '_PVT'
5773 );
5774
5775 END lock_row;
5776 -----------------------------------
5777 -- lock_row for:OKC_K_HEADERS_TL --
5778 -----------------------------------
5779 PROCEDURE lock_row(
5780 p_init_msg_list IN VARCHAR2,
5781 x_return_status OUT NOCOPY VARCHAR2,
5782 x_msg_count OUT NOCOPY NUMBER,
5783 x_msg_data OUT NOCOPY VARCHAR2,
5784 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type) IS
5785
5786 E_Resource_Busy EXCEPTION;
5787 PRAGMA EXCEPTION_INIT(E_Resource_Busy, - 00054);
5788 CURSOR lock_csr (p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type) IS
5789 SELECT *
5790 FROM OKC_K_HEADERS_TL
5791 WHERE ID = p_okc_k_headers_tl_rec.id
5792 FOR UPDATE NOWAIT;
5793
5794 l_api_version CONSTANT NUMBER := 1;
5795 l_api_name CONSTANT VARCHAR2(30) := 'TL_lock_row';
5796 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5797 l_lock_var lock_csr%ROWTYPE;
5798 l_row_notfound BOOLEAN := FALSE;
5799 lc_row_notfound BOOLEAN := FALSE;
5800 BEGIN
5801
5802 IF (l_debug = 'Y') THEN
5803 okc_debug.Set_Indentation('OKC_CHR_PVT');
5804 okc_debug.LOG('16800: Entered lock_row', 2);
5805 END IF;
5806
5807 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5808 p_init_msg_list,
5809 '_PVT',
5810 x_return_status);
5811 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5812 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5813 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5814 RAISE OKC_API.G_EXCEPTION_ERROR;
5815 END IF;
5816 BEGIN
5817
5818 IF (l_debug = 'Y') THEN
5819 okc_debug.Set_Indentation('OKC_CHR_PVT');
5820 okc_debug.LOG('16900: Entered lock_row', 2);
5821 END IF;
5822
5823 OPEN lock_csr(p_okc_k_headers_tl_rec);
5824 FETCH lock_csr INTO l_lock_var;
5825 l_row_notfound := lock_csr%NOTFOUND;
5826 CLOSE lock_csr;
5827 IF (l_debug = 'Y') THEN
5828 okc_debug.LOG('17000: Exiting lock_row', 2);
5829 okc_debug.Reset_Indentation;
5830 END IF;
5831
5832
5833 EXCEPTION
5834 WHEN E_Resource_Busy THEN
5835
5836 IF (l_debug = 'Y') THEN
5837 okc_debug.LOG('17100: Exiting lock_row:E_Resource_Busy Exception', 2);
5838 okc_debug.Reset_Indentation;
5839 END IF;
5840
5841 IF (lock_csr%ISOPEN) THEN
5842 CLOSE lock_csr;
5843 END IF;
5844 OKC_API.set_message(G_FND_APP, G_FORM_UNABLE_TO_RESERVE_REC);
5845 RAISE APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION;
5846 END;
5847
5848 IF (l_row_notfound ) THEN
5849 OKC_API.set_message(G_APP_NAME, 'OKC_FORM_RECORD_DELETED');
5850 RAISE OKC_API.G_EXCEPTION_ERROR;
5851 END IF;
5852 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5853 IF (l_debug = 'Y') THEN
5854 okc_debug.LOG('17200: Exiting lock_row', 2);
5855 okc_debug.Reset_Indentation;
5856 END IF;
5857
5858
5859 EXCEPTION
5860 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5861
5862 IF (l_debug = 'Y') THEN
5863 okc_debug.LOG('17300: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5864 okc_debug.Reset_Indentation;
5865 END IF;
5866
5867 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5868 (
5869 l_api_name,
5870 G_PKG_NAME,
5871 'OKC_API.G_RET_STS_ERROR',
5872 x_msg_count,
5873 x_msg_data,
5874 '_PVT'
5875 );
5876 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
5877
5878 IF (l_debug = 'Y') THEN
5879 okc_debug.LOG('17400: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
5888 x_msg_count,
5889 x_msg_data,
5890 '_PVT'
5891 );
5892 WHEN OTHERS THEN
5893
5894 IF (l_debug = 'Y') THEN
5895 okc_debug.LOG('17500: Exiting lock_row:OTHERS 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 'OTHERS',
5904 x_msg_count,
5905 x_msg_data,
5906 '_PVT'
5907 );
5908
5909 END lock_row;
5910 ----------------------------------
5911 -- lock_row for:OKC_K_HEADERS_V --
5912 ----------------------------------
5913 PROCEDURE lock_row(
5914 p_api_version IN NUMBER,
5915 p_init_msg_list IN VARCHAR2,
5916 x_return_status OUT NOCOPY VARCHAR2,
5917 x_msg_count OUT NOCOPY NUMBER,
5918 x_msg_data OUT NOCOPY VARCHAR2,
5919 p_chrv_rec IN chrv_rec_type) IS
5920
5921 l_api_version CONSTANT NUMBER := 1;
5922 l_api_name CONSTANT VARCHAR2(30) := 'V_lock_row';
5923 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
5924 l_chr_rec chr_rec_type;
5925 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
5926 BEGIN
5927
5928 IF (l_debug = 'Y') THEN
5929 okc_debug.Set_Indentation('OKC_CHR_PVT');
5930 okc_debug.LOG('17600: Entered lock_row', 2);
5931 END IF;
5932
5933 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
5934 G_PKG_NAME,
5935 p_init_msg_list,
5936 l_api_version,
5937 p_api_version,
5938 '_PVT',
5939 x_return_status);
5940 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5941 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5942 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
5943 RAISE OKC_API.G_EXCEPTION_ERROR;
5944 END IF;
5945 --------------------------------------
5946 -- Move VIEW record to "Child" records
5947 --------------------------------------
5948 migrate(p_chrv_rec, l_chr_rec);
5949 migrate(p_chrv_rec, l_okc_k_headers_tl_rec);
5950 --------------------------------------------
5951 -- Call the LOCK_ROW for each child record
5952 --------------------------------------------
5953 lock_row(
5954 p_init_msg_list,
5955 x_return_status,
5956 x_msg_count,
5957 x_msg_data,
5958 l_chr_rec
5959 );
5960 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5961 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5962 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5963 RAISE OKC_API.G_EXCEPTION_ERROR;
5964 END IF;
5965 lock_row(
5966 p_init_msg_list,
5967 x_return_status,
5968 x_msg_count,
5969 x_msg_data,
5970 l_okc_k_headers_tl_rec
5971 );
5972 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
5973 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
5974 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
5975 RAISE OKC_API.G_EXCEPTION_ERROR;
5976 END IF;
5977 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
5978 IF (l_debug = 'Y') THEN
5979 okc_debug.LOG('17700: Exiting lock_row', 2);
5980 okc_debug.Reset_Indentation;
5981 END IF;
5982
5983
5984 EXCEPTION
5985 WHEN OKC_API.G_EXCEPTION_ERROR THEN
5986
5987 IF (l_debug = 'Y') THEN
5988 okc_debug.LOG('17800: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
5989 okc_debug.Reset_Indentation;
5990 END IF;
5991
5992 x_return_status := OKC_API.HANDLE_EXCEPTIONS
5993 (
5994 l_api_name,
5995 G_PKG_NAME,
5996 'OKC_API.G_RET_STS_ERROR',
5997 x_msg_count,
5998 x_msg_data,
5999 '_PVT'
6000 );
6001 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6002
6003 IF (l_debug = 'Y') THEN
6004 okc_debug.LOG('17900: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
6013 x_msg_count,
6014 x_msg_data,
6015 '_PVT'
6016 );
6017 WHEN OTHERS THEN
6018
6019 IF (l_debug = 'Y') THEN
6020 okc_debug.LOG('18000: Exiting lock_row:OTHERS 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 'OTHERS',
6029 x_msg_count,
6030 x_msg_data,
6031 '_PVT'
6032 );
6033
6034 END lock_row;
6035 --------------------------------------
6036 -- PL/SQL TBL lock_row for:CHRV_TBL --
6037 --------------------------------------
6038 PROCEDURE lock_row(
6039 p_api_version IN NUMBER,
6040 p_init_msg_list IN VARCHAR2,
6041 x_return_status OUT NOCOPY VARCHAR2,
6042 x_msg_count OUT NOCOPY NUMBER,
6043 x_msg_data OUT NOCOPY VARCHAR2,
6044 p_chrv_tbl IN chrv_tbl_type) IS
6045
6046 l_api_version CONSTANT NUMBER := 1;
6047 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_lock_row';
6048 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6049 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6050 i NUMBER := 0;
6051 BEGIN
6052
6053 IF (l_debug = 'Y') THEN
6054 okc_debug.Set_Indentation('OKC_CHR_PVT');
6055 okc_debug.LOG('18100: Entered lock_row', 2);
6056 END IF;
6057
6058 OKC_API.init_msg_list(p_init_msg_list);
6059 -- Make sure PL/SQL table has records in it before passing
6060 IF (p_chrv_tbl.COUNT > 0) THEN
6061 i := p_chrv_tbl.FIRST;
6062 LOOP
6063 lock_row (
6064 p_api_version => p_api_version,
6065 p_init_msg_list => OKC_API.G_FALSE,
6066 x_return_status => x_return_status,
6067 x_msg_count => x_msg_count,
6068 x_msg_data => x_msg_data,
6069 p_chrv_rec => p_chrv_tbl(i));
6070
6071 -- store the highest degree of error
6072 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
6073 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
6074 l_overall_status := x_return_status;
6075 END IF;
6076 END IF;
6077
6078 EXIT WHEN (i = p_chrv_tbl.LAST);
6079 i := p_chrv_tbl.NEXT(i);
6080 END LOOP;
6081 -- return overall status
6082 x_return_status := l_overall_status;
6083 END IF;
6084 IF (l_debug = 'Y') THEN
6085 okc_debug.LOG('18200: Exiting lock_row', 2);
6086 okc_debug.Reset_Indentation;
6087 END IF;
6088
6089
6090 EXCEPTION
6091 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6092
6093 IF (l_debug = 'Y') THEN
6094 okc_debug.LOG('18300: Exiting lock_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6095 okc_debug.Reset_Indentation;
6096 END IF;
6097
6098 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6099 (
6100 l_api_name,
6101 G_PKG_NAME,
6102 'OKC_API.G_RET_STS_ERROR',
6103 x_msg_count,
6104 x_msg_data,
6105 '_PVT'
6106 );
6107 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6108
6109 IF (l_debug = 'Y') THEN
6110 okc_debug.LOG('18400: Exiting lock_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
6119 x_msg_count,
6120 x_msg_data,
6121 '_PVT'
6122 );
6123 WHEN OTHERS THEN
6124
6125 IF (l_debug = 'Y') THEN
6126 okc_debug.LOG('18500: Exiting lock_row:OTHERS 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 'OTHERS',
6135 x_msg_count,
6136 x_msg_data,
6137 '_PVT'
6138 );
6139
6140 END lock_row;
6141
6142 ---------------------------------------------------------------------------
6143 -- PROCEDURE update_row
6144 ---------------------------------------------------------------------------
6145 ------------------------------------
6146 -- update_row for:OKC_K_HEADERS_ALL_B --
6147 ------------------------------------
6148 PROCEDURE update_row(
6149 p_init_msg_list IN VARCHAR2,
6150 x_return_status OUT NOCOPY VARCHAR2,
6151 x_msg_count OUT NOCOPY NUMBER,
6152 x_msg_data OUT NOCOPY VARCHAR2,
6153 p_restricted_update IN VARCHAR2,
6154 p_chr_rec IN chr_rec_type,
6155 x_chr_rec OUT NOCOPY chr_rec_type) IS
6156
6157 l_api_version CONSTANT NUMBER := 1;
6158 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
6159 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6160 l_chr_rec chr_rec_type := p_chr_rec;
6161 l_def_chr_rec chr_rec_type;
6162 l_row_notfound BOOLEAN := TRUE;
6163 ----------------------------------
6164 -- FUNCTION populate_new_record --
6165 ----------------------------------
6166 FUNCTION populate_new_record (
6167 p_chr_rec IN chr_rec_type,
6168 x_chr_rec OUT NOCOPY chr_rec_type
6169 ) RETURN VARCHAR2 IS
6170 l_chr_rec chr_rec_type;
6171 l_row_notfound BOOLEAN := TRUE;
6172 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6173 BEGIN
6174
6175 IF (l_debug = 'Y') THEN
6176 okc_debug.Set_Indentation('OKC_CHR_PVT');
6177 okc_debug.LOG('18600: Entered populate_new_record', 2);
6178 END IF;
6179
6180 x_chr_rec := p_chr_rec;
6181 -- Get current database values
6182 l_chr_rec := get_rec(p_chr_rec, l_row_notfound);
6183 IF (l_row_notfound) THEN
6184 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6185 END IF;
6186 IF (x_chr_rec.id = OKC_API.G_MISS_NUM)
6187 THEN
6188 x_chr_rec.id := l_chr_rec.id;
6189 END IF;
6190 IF (x_chr_rec.contract_number = OKC_API.G_MISS_CHAR)
6191 THEN
6192 x_chr_rec.contract_number := l_chr_rec.contract_number;
6193 END IF;
6194 IF (x_chr_rec.authoring_org_id = OKC_API.G_MISS_NUM)
6195 THEN
6196 x_chr_rec.authoring_org_id := l_chr_rec.authoring_org_id;
6197 END IF;
6198 --mmadhavi added for MOAC
6199
6200 IF (x_chr_rec.org_id = OKC_API.G_MISS_NUM)
6201 THEN
6202 x_chr_rec.org_id := l_chr_rec.org_id;
6203 END IF;
6204
6205 --mmadhavi end MOAC
6206 IF (x_chr_rec.contract_number_modifier = OKC_API.G_MISS_CHAR)
6207 THEN
6208 x_chr_rec.contract_number_modifier := l_chr_rec.contract_number_modifier;
6209 END IF;
6210 IF (x_chr_rec.chr_id_response = OKC_API.G_MISS_NUM)
6211 THEN
6212 x_chr_rec.chr_id_response := l_chr_rec.chr_id_response;
6213 END IF;
6214 IF (x_chr_rec.chr_id_award = OKC_API.G_MISS_NUM)
6215 THEN
6216 x_chr_rec.chr_id_award := l_chr_rec.chr_id_award;
6217 END IF;
6218 IF (x_chr_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM)
6219 THEN
6220 x_chr_rec.INV_ORGANIZATION_ID := l_chr_rec.INV_ORGANIZATION_ID;
6221 END IF;
6222 IF (x_chr_rec.sts_code = OKC_API.G_MISS_CHAR)
6223 THEN
6224 x_chr_rec.sts_code := l_chr_rec.sts_code;
6225 END IF;
6226 IF (x_chr_rec.qcl_id = OKC_API.G_MISS_NUM)
6227 THEN
6228 x_chr_rec.qcl_id := l_chr_rec.qcl_id;
6229 END IF;
6230 IF (x_chr_rec.scs_code = OKC_API.G_MISS_CHAR)
6231 THEN
6232 x_chr_rec.scs_code := l_chr_rec.scs_code;
6233 END IF;
6234 IF (x_chr_rec.trn_code = OKC_API.G_MISS_CHAR)
6235 THEN
6236 x_chr_rec.trn_code := l_chr_rec.trn_code;
6237 END IF;
6238 IF (x_chr_rec.currency_code = OKC_API.G_MISS_CHAR)
6239 THEN
6240 x_chr_rec.currency_code := l_chr_rec.currency_code;
6241 END IF;
6242 IF (x_chr_rec.archived_yn = OKC_API.G_MISS_CHAR)
6243 THEN
6244 x_chr_rec.archived_yn := l_chr_rec.archived_yn;
6245 END IF;
6246 IF (x_chr_rec.deleted_yn = OKC_API.G_MISS_CHAR)
6247 THEN
6248 x_chr_rec.deleted_yn := l_chr_rec.deleted_yn;
6249 END IF;
6250 IF (x_chr_rec.template_yn = OKC_API.G_MISS_CHAR)
6251 THEN
6252 x_chr_rec.template_yn := l_chr_rec.template_yn;
6253 END IF;
6254 IF (x_chr_rec.chr_type = OKC_API.G_MISS_CHAR)
6255 THEN
6256 x_chr_rec.chr_type := l_chr_rec.chr_type;
6257 END IF;
6258 IF (x_chr_rec.object_version_number = OKC_API.G_MISS_NUM)
6259 THEN
6260 x_chr_rec.object_version_number := l_chr_rec.object_version_number;
6261 END IF;
6262 IF (x_chr_rec.created_by = OKC_API.G_MISS_NUM)
6263 THEN
6264 x_chr_rec.created_by := l_chr_rec.created_by;
6265 END IF;
6266 IF (x_chr_rec.creation_date = OKC_API.G_MISS_DATE)
6267 THEN
6268 x_chr_rec.creation_date := l_chr_rec.creation_date;
6269 END IF;
6270 IF (x_chr_rec.last_updated_by = OKC_API.G_MISS_NUM)
6271 THEN
6272 x_chr_rec.last_updated_by := l_chr_rec.last_updated_by;
6273 END IF;
6274 IF (x_chr_rec.last_update_date = OKC_API.G_MISS_DATE)
6275 THEN
6276 x_chr_rec.last_update_date := l_chr_rec.last_update_date;
6277 END IF;
6278 IF (x_chr_rec.cust_po_number_req_yn = OKC_API.G_MISS_CHAR)
6279 THEN
6280 x_chr_rec.cust_po_number_req_yn := l_chr_rec.cust_po_number_req_yn;
6281 END IF;
6282 IF (x_chr_rec.pre_pay_req_yn = OKC_API.G_MISS_CHAR)
6283 THEN
6284 x_chr_rec.pre_pay_req_yn := l_chr_rec.pre_pay_req_yn;
6285 END IF;
6286 IF (x_chr_rec.cust_po_number = OKC_API.G_MISS_CHAR)
6287 THEN
6288 x_chr_rec.cust_po_number := l_chr_rec.cust_po_number;
6289 END IF;
6290 IF (x_chr_rec.dpas_rating = OKC_API.G_MISS_CHAR)
6291 THEN
6292 x_chr_rec.dpas_rating := l_chr_rec.dpas_rating;
6293 END IF;
6294 IF (x_chr_rec.template_used = OKC_API.G_MISS_CHAR)
6295 THEN
6296 x_chr_rec.template_used := l_chr_rec.template_used;
6297 END IF;
6298 IF (x_chr_rec.date_approved = OKC_API.G_MISS_DATE)
6299 THEN
6300 x_chr_rec.date_approved := l_chr_rec.date_approved;
6301 END IF;
6302 IF (x_chr_rec.datetime_cancelled = OKC_API.G_MISS_DATE)
6303 THEN
6304 x_chr_rec.datetime_cancelled := l_chr_rec.datetime_cancelled;
6305 END IF;
6306 IF (x_chr_rec.auto_renew_days = OKC_API.G_MISS_NUM)
6307 THEN
6308 x_chr_rec.auto_renew_days := l_chr_rec.auto_renew_days;
6309 END IF;
6310 IF (x_chr_rec.date_issued = OKC_API.G_MISS_DATE)
6311 THEN
6312 x_chr_rec.date_issued := l_chr_rec.date_issued;
6313 END IF;
6314 IF (x_chr_rec.datetime_responded = OKC_API.G_MISS_DATE)
6315 THEN
6316 x_chr_rec.datetime_responded := l_chr_rec.datetime_responded;
6317 END IF;
6318 IF (x_chr_rec.rfp_type = OKC_API.G_MISS_CHAR)
6319 THEN
6320 x_chr_rec.rfp_type := l_chr_rec.rfp_type;
6321 END IF;
6322 IF (x_chr_rec.keep_on_mail_list = OKC_API.G_MISS_CHAR)
6323 THEN
6324 x_chr_rec.keep_on_mail_list := l_chr_rec.keep_on_mail_list;
6325 END IF;
6326 IF (x_chr_rec.set_aside_percent = OKC_API.G_MISS_NUM)
6327 THEN
6328 x_chr_rec.set_aside_percent := l_chr_rec.set_aside_percent;
6329 END IF;
6330 IF (x_chr_rec.response_copies_req = OKC_API.G_MISS_NUM)
6331 THEN
6332 x_chr_rec.response_copies_req := l_chr_rec.response_copies_req;
6333 END IF;
6334 IF (x_chr_rec.date_close_projected = OKC_API.G_MISS_DATE)
6335 THEN
6336 x_chr_rec.date_close_projected := l_chr_rec.date_close_projected;
6337 END IF;
6338 IF (x_chr_rec.datetime_proposed = OKC_API.G_MISS_DATE)
6339 THEN
6340 x_chr_rec.datetime_proposed := l_chr_rec.datetime_proposed;
6341 END IF;
6342 IF (x_chr_rec.date_signed = OKC_API.G_MISS_DATE)
6343 THEN
6344 x_chr_rec.date_signed := l_chr_rec.date_signed;
6345 END IF;
6346 IF (x_chr_rec.date_terminated = OKC_API.G_MISS_DATE)
6347 THEN
6348 x_chr_rec.date_terminated := l_chr_rec.date_terminated;
6349 END IF;
6350 IF (x_chr_rec.date_renewed = OKC_API.G_MISS_DATE)
6351 THEN
6352 x_chr_rec.date_renewed := l_chr_rec.date_renewed;
6353 END IF;
6354 IF (x_chr_rec.start_date = OKC_API.G_MISS_DATE)
6355 THEN
6356 x_chr_rec.start_date := l_chr_rec.start_date;
6357 END IF;
6358 IF (x_chr_rec.end_date = OKC_API.G_MISS_DATE)
6359 THEN
6360 x_chr_rec.end_date := l_chr_rec.end_date;
6361 END IF;
6362 IF (x_chr_rec.buy_or_sell = OKC_API.G_MISS_CHAR)
6363 THEN
6364 x_chr_rec.buy_or_sell := l_chr_rec.buy_or_sell;
6365 END IF;
6366 IF (x_chr_rec.issue_or_receive = OKC_API.G_MISS_CHAR)
6367 THEN
6368 x_chr_rec.issue_or_receive := l_chr_rec.issue_or_receive;
6369 END IF;
6370 IF (x_chr_rec.estimated_amount = OKC_API.G_MISS_NUM)
6371 THEN
6372 x_chr_rec.estimated_amount := l_chr_rec.estimated_amount;
6373 END IF;
6374 IF (x_chr_rec.estimated_amount_renewed = OKC_API.G_MISS_NUM)
6375 THEN
6376 x_chr_rec.estimated_amount_renewed := l_chr_rec.estimated_amount_renewed;
6377 END IF;
6378 IF (x_chr_rec.currency_code_renewed = OKC_API.G_MISS_CHAR)
6379 THEN
6380 x_chr_rec.currency_code_renewed := l_chr_rec.currency_code_renewed;
6381 END IF;
6382 IF (x_chr_rec.last_update_login = OKC_API.G_MISS_NUM)
6383 THEN
6384 x_chr_rec.last_update_login := l_chr_rec.last_update_login;
6385 END IF;
6386 IF (x_chr_rec.upg_orig_system_ref = OKC_API.G_MISS_CHAR)
6387 THEN
6388 x_chr_rec.upg_orig_system_ref := l_chr_rec.upg_orig_system_ref;
6389 END IF;
6390 IF (x_chr_rec.upg_orig_system_ref_id = OKC_API.G_MISS_NUM)
6391 THEN
6392 x_chr_rec.upg_orig_system_ref_id := l_chr_rec.upg_orig_system_ref_id;
6393 END IF;
6394 IF (x_chr_rec.application_id = OKC_API.G_MISS_NUM)
6395 THEN
6396 x_chr_rec.application_id := l_chr_rec.application_id;
6397 END IF;
6398 IF (x_chr_rec.orig_system_source_code = OKC_API.G_MISS_CHAR )
6399 THEN
6400 x_chr_rec.orig_system_source_code := l_chr_rec.orig_system_source_code ;
6401 END IF;
6402 IF (x_chr_rec.orig_system_id1 = OKC_API.G_MISS_NUM )
6403 THEN
6404 x_chr_rec.orig_system_id1 := l_chr_rec.orig_system_id1 ;
6405 END IF ;
6406 IF (x_chr_rec.orig_system_reference1 = OKC_API.G_MISS_CHAR )
6407 THEN
6408 x_chr_rec.orig_system_reference1 := l_chr_rec.orig_system_reference1 ;
6409 END IF;
6410 IF (x_chr_rec.program_id = OKC_API.G_MISS_NUM)
6411 THEN
6412 x_chr_rec.program_id := l_chr_rec.program_id;
6413 END IF;
6414 IF (x_chr_rec.request_id = OKC_API.G_MISS_NUM)
6415 THEN
6416 x_chr_rec.request_id := l_chr_rec.request_id;
6417 END IF;
6418 IF (x_chr_rec.program_update_date = OKC_API.G_MISS_DATE)
6419 THEN
6420 x_chr_rec.program_update_date := l_chr_rec.program_update_date;
6421 END IF;
6422 IF (x_chr_rec.program_application_id = OKC_API.G_MISS_NUM)
6423 THEN
6424 x_chr_rec.program_application_id := l_chr_rec.program_application_id;
6425 END IF;
6426 IF (x_chr_rec.price_list_id = OKC_API.G_MISS_NUM)
6427 THEN
6428 x_chr_rec.price_list_id := l_chr_rec.price_list_id;
6429 END IF;
6430 IF (x_chr_rec.pricing_date = OKC_API.G_MISS_DATE)
6431 THEN
6432 x_chr_rec.pricing_date := l_chr_rec.pricing_date ;
6433 END IF;
6434 IF (x_chr_rec.sign_by_date = OKC_API.G_MISS_DATE)
6435 THEN
6436 x_chr_rec.sign_by_date := l_chr_rec.sign_by_date;
6437 END IF;
6438 IF (x_chr_rec.total_line_list_price = OKC_API.G_MISS_NUM)
6439 THEN
6440 x_chr_rec.total_line_list_price := l_chr_rec.total_line_list_price;
6441 END IF;
6442 IF (x_chr_rec.user_estimated_amount = OKC_API.G_MISS_NUM) THEN
6443 x_chr_rec.user_estimated_amount := l_chr_rec.user_estimated_amount;
6444 END IF;
6445
6446 IF (x_chr_rec.governing_contract_yn = OKC_API.G_MISS_CHAR) THEN
6447 x_chr_rec.governing_contract_yn := l_chr_rec.governing_contract_yn;
6448 END IF;
6449 IF (x_chr_rec.attribute_category = OKC_API.G_MISS_CHAR)
6450 THEN
6451 x_chr_rec.attribute_category := l_chr_rec.attribute_category;
6452 END IF;
6453 IF (x_chr_rec.attribute1 = OKC_API.G_MISS_CHAR)
6454 THEN
6455 x_chr_rec.attribute1 := l_chr_rec.attribute1;
6456 END IF;
6457 IF (x_chr_rec.attribute2 = OKC_API.G_MISS_CHAR)
6458 THEN
6459 x_chr_rec.attribute2 := l_chr_rec.attribute2;
6460 END IF;
6461 IF (x_chr_rec.attribute3 = OKC_API.G_MISS_CHAR)
6462 THEN
6463 x_chr_rec.attribute3 := l_chr_rec.attribute3;
6464 END IF;
6465 IF (x_chr_rec.attribute4 = OKC_API.G_MISS_CHAR)
6466 THEN
6467 x_chr_rec.attribute4 := l_chr_rec.attribute4;
6468 END IF;
6469 IF (x_chr_rec.attribute5 = OKC_API.G_MISS_CHAR)
6470 THEN
6471 x_chr_rec.attribute5 := l_chr_rec.attribute5;
6472 END IF;
6473 IF (x_chr_rec.attribute6 = OKC_API.G_MISS_CHAR)
6474 THEN
6475 x_chr_rec.attribute6 := l_chr_rec.attribute6;
6476 END IF;
6477 IF (x_chr_rec.attribute7 = OKC_API.G_MISS_CHAR)
6478 THEN
6479 x_chr_rec.attribute7 := l_chr_rec.attribute7;
6480 END IF;
6481 IF (x_chr_rec.attribute8 = OKC_API.G_MISS_CHAR)
6482 THEN
6483 x_chr_rec.attribute8 := l_chr_rec.attribute8;
6484 END IF;
6485 IF (x_chr_rec.attribute9 = OKC_API.G_MISS_CHAR)
6486 THEN
6487 x_chr_rec.attribute9 := l_chr_rec.attribute9;
6488 END IF;
6489 IF (x_chr_rec.attribute10 = OKC_API.G_MISS_CHAR)
6490 THEN
6491 x_chr_rec.attribute10 := l_chr_rec.attribute10;
6492 END IF;
6493 IF (x_chr_rec.attribute11 = OKC_API.G_MISS_CHAR)
6494 THEN
6495 x_chr_rec.attribute11 := l_chr_rec.attribute11;
6496 END IF;
6497 IF (x_chr_rec.attribute12 = OKC_API.G_MISS_CHAR)
6498 THEN
6499 x_chr_rec.attribute12 := l_chr_rec.attribute12;
6500 END IF;
6501 IF (x_chr_rec.attribute13 = OKC_API.G_MISS_CHAR)
6502 THEN
6503 x_chr_rec.attribute13 := l_chr_rec.attribute13;
6504 END IF;
6505 IF (x_chr_rec.attribute14 = OKC_API.G_MISS_CHAR)
6506 THEN
6507 x_chr_rec.attribute14 := l_chr_rec.attribute14;
6508 END IF;
6509 IF (x_chr_rec.attribute15 = OKC_API.G_MISS_CHAR)
6510 THEN
6511 x_chr_rec.attribute15 := l_chr_rec.attribute15;
6512 END IF;
6513 -- new columns to replace rules
6514 IF (x_chr_rec.conversion_type = OKC_API.G_MISS_CHAR) THEN
6515 x_chr_rec.conversion_type := l_chr_rec.conversion_type;
6516 END IF;
6517 IF (x_chr_rec.conversion_rate = OKC_API.G_MISS_NUM) THEN
6518 x_chr_rec.conversion_rate := l_chr_rec.conversion_rate;
6519 END IF;
6520 IF (x_chr_rec.conversion_rate_date = OKC_API.G_MISS_DATE) THEN
6521 x_chr_rec.conversion_rate_date := l_chr_rec.conversion_rate_date;
6522 END IF;
6523 IF (x_chr_rec.conversion_euro_rate = OKC_API.G_MISS_NUM) THEN
6524 x_chr_rec.conversion_euro_rate := l_chr_rec.conversion_euro_rate;
6525 END IF;
6526 IF (x_chr_rec.cust_acct_id = OKC_API.G_MISS_NUM) THEN
6527 x_chr_rec.cust_acct_id := l_chr_rec.cust_acct_id;
6528 END IF;
6529 IF (x_chr_rec.bill_to_site_use_id = OKC_API.G_MISS_NUM) THEN
6530 x_chr_rec.bill_to_site_use_id := l_chr_rec.bill_to_site_use_id;
6531 END IF;
6532 IF (x_chr_rec.inv_rule_id = OKC_API.G_MISS_NUM) THEN
6533 x_chr_rec.inv_rule_id := l_chr_rec.inv_rule_id;
6534 END IF;
6535 IF (x_chr_rec.renewal_type_code = OKC_API.G_MISS_CHAR) THEN
6536 x_chr_rec.renewal_type_code := l_chr_rec.renewal_type_code;
6537 END IF;
6538 IF (x_chr_rec.renewal_notify_to = OKC_API.G_MISS_NUM) THEN
6539 x_chr_rec.renewal_notify_to := l_chr_rec.renewal_notify_to;
6540 END IF;
6541 IF (x_chr_rec.renewal_end_date = OKC_API.G_MISS_DATE) THEN
6542 x_chr_rec.renewal_end_date := l_chr_rec.renewal_end_date;
6543 END IF;
6544 IF (x_chr_rec.ship_to_site_use_id = OKC_API.G_MISS_NUM) THEN
6545 x_chr_rec.ship_to_site_use_id := l_chr_rec.ship_to_site_use_id;
6546 END IF;
6547 IF (x_chr_rec.payment_term_id = OKC_API.G_MISS_NUM) THEN
6548 x_chr_rec.payment_term_id := l_chr_rec.payment_term_id;
6549 END IF;
6550
6551 -- R12 Data Model Changes 4485150 Start
6552 IF (x_chr_rec.approval_type = OKC_API.G_MISS_CHAR) THEN
6553 x_chr_rec.approval_type := l_chr_rec.approval_type;
6554 END IF;
6555 IF (x_chr_rec.term_cancel_source = OKC_API.G_MISS_CHAR) THEN
6556 x_chr_rec.term_cancel_source := l_chr_rec.term_cancel_source;
6557 END IF;
6558 IF (x_chr_rec.payment_instruction_type = OKC_API.G_MISS_CHAR) THEN
6559 x_chr_rec.payment_instruction_type := l_chr_rec.payment_instruction_type;
6560 END IF;
6561 -- LLC
6562 IF (x_chr_rec.cancelled_amount = OKC_API.G_MISS_NUM) THEN
6563 x_chr_rec.cancelled_amount := l_chr_rec.cancelled_amount;
6564 END IF;
6565 -- R12 Data Model Changes 4485150 End
6566 RETURN(l_return_status);
6567
6568 END populate_new_record;
6569 ----------------------------------------
6570 -- Set_Attributes for:OKC_K_HEADERS_ALL_B --
6571 ----------------------------------------
6572 FUNCTION Set_Attributes (
6573 p_chr_rec IN chr_rec_type,
6574 x_chr_rec OUT NOCOPY chr_rec_type
6575 ) RETURN VARCHAR2 IS
6576 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6577 BEGIN
6578
6579 IF (l_debug = 'Y') THEN
6580 okc_debug.Set_Indentation('OKC_CHR_PVT');
6581 okc_debug.LOG('18700: Entered Set_Attributes', 2);
6582 END IF;
6583
6584 x_chr_rec := p_chr_rec;
6585 RETURN(l_return_status);
6586
6587 END Set_Attributes;
6588 BEGIN
6589
6590 IF (l_debug = 'Y') THEN
6591 okc_debug.Set_Indentation('OKC_CHR_PVT');
6592 okc_debug.LOG('18800: Entered update_row', 2);
6593 END IF;
6594
6595 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6596 p_init_msg_list,
6597 '_PVT',
6598 x_return_status);
6599 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6600 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6601 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6602 RAISE OKC_API.G_EXCEPTION_ERROR;
6603 END IF;
6604 --- Setting item attributes
6605 l_return_status := Set_Attributes(
6606 p_chr_rec, -- IN
6607 l_chr_rec); -- OUT
6608 --- If any errors happen abort API
6609 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6610 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6611 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6612 RAISE OKC_API.G_EXCEPTION_ERROR;
6613 END IF;
6614 l_return_status := populate_new_record(l_chr_rec, l_def_chr_rec);
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
6621 UPDATE OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
6622 SET CONTRACT_NUMBER = l_def_chr_rec.contract_number,
6623 --AUTHORING_ORG_ID = l_def_chr_rec.authoring_org_id,
6624 CONTRACT_NUMBER_MODIFIER = l_def_chr_rec.contract_number_modifier,
6625 CHR_ID_RESPONSE = l_def_chr_rec.chr_id_response,
6626 CHR_ID_AWARD = l_def_chr_rec.chr_id_award,
6627 --INV_ORGANIZATION_ID = l_def_chr_rec.INV_ORGANIZATION_ID,
6628 STS_CODE = l_def_chr_rec.sts_code,
6629 QCL_ID = l_def_chr_rec.qcl_id,
6630 --SCS_CODE = l_def_chr_rec.scs_code,
6631 TRN_CODE = l_def_chr_rec.trn_code,
6632 CURRENCY_CODE = l_def_chr_rec.currency_code,
6633 ARCHIVED_YN = l_def_chr_rec.archived_yn,
6634 DELETED_YN = l_def_chr_rec.deleted_yn,
6635 TEMPLATE_YN = l_def_chr_rec.template_yn,
6636 --CHR_TYPE = l_def_chr_rec.chr_type,
6637 OBJECT_VERSION_NUMBER = l_def_chr_rec.object_version_number,
6638 --CREATED_BY = l_def_chr_rec.created_by,
6639 --CREATION_DATE = l_def_chr_rec.creation_date,
6640 LAST_UPDATED_BY = l_def_chr_rec.last_updated_by,
6641 LAST_UPDATE_DATE = l_def_chr_rec.last_update_date,
6642 CUST_PO_NUMBER_REQ_YN = l_def_chr_rec.cust_po_number_req_yn,
6643 PRE_PAY_REQ_YN = l_def_chr_rec.pre_pay_req_yn,
6644 CUST_PO_NUMBER = l_def_chr_rec.cust_po_number,
6645 DPAS_RATING = l_def_chr_rec.dpas_rating,
6646 TEMPLATE_USED = l_def_chr_rec.template_used,
6647 DATE_APPROVED = l_def_chr_rec.date_approved,
6648 DATETIME_CANCELLED = l_def_chr_rec.datetime_cancelled,
6649 AUTO_RENEW_DAYS = l_def_chr_rec.auto_renew_days,
6650 DATE_ISSUED = l_def_chr_rec.date_issued,
6651 DATETIME_RESPONDED = l_def_chr_rec.datetime_responded,
6652 RFP_TYPE = l_def_chr_rec.rfp_type,
6653 KEEP_ON_MAIL_LIST = l_def_chr_rec.keep_on_mail_list,
6654 SET_ASIDE_PERCENT = l_def_chr_rec.set_aside_percent,
6655 RESPONSE_COPIES_REQ = l_def_chr_rec.response_copies_req,
6656 DATE_CLOSE_PROJECTED = l_def_chr_rec.date_close_projected,
6657 DATETIME_PROPOSED = l_def_chr_rec.datetime_proposed,
6658 DATE_SIGNED = l_def_chr_rec.date_signed,
6659 DATE_TERMINATED = l_def_chr_rec.date_terminated,
6660 DATE_RENEWED = l_def_chr_rec.date_renewed,
6661 START_DATE = l_def_chr_rec.start_date,
6662 END_DATE = l_def_chr_rec.end_date,
6663 BUY_OR_SELL = l_def_chr_rec.buy_or_sell,
6664 ISSUE_OR_RECEIVE = l_def_chr_rec.issue_or_receive,
6665 ESTIMATED_AMOUNT = l_def_chr_rec.estimated_amount,
6666 ESTIMATED_AMOUNT_RENEWED = l_def_chr_rec.estimated_amount_renewed,
6667 CURRENCY_CODE_RENEWED = l_def_chr_rec.currency_code_renewed,
6668 LAST_UPDATE_LOGIN = l_def_chr_rec.last_update_login,
6669 UPG_ORIG_SYSTEM_REF = l_def_chr_rec.upg_orig_system_ref,
6670 UPG_ORIG_SYSTEM_REF_ID = l_def_chr_rec.upg_orig_system_ref_id,
6671 --------APPLICATION_ID = l_def_chr_rec.application_id,
6672 ORIG_SYSTEM_SOURCE_CODE = l_def_chr_rec.orig_system_source_code,
6673 ORIG_SYSTEM_ID1 = l_def_chr_rec.orig_system_id1,
6674 ORIG_SYSTEM_REFERENCE1 = l_def_chr_rec.orig_system_reference1,
6675 PROGRAM_ID = NVL(decode(FND_GLOBAL.CONC_PROGRAM_ID, - 1, NULL, FND_GLOBAL.CONC_PROGRAM_ID), l_def_chr_rec.program_id),
6676 REQUEST_ID = NVL(decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, FND_GLOBAL.CONC_REQUEST_ID), l_def_chr_rec.request_id),
6677 PROGRAM_UPDATE_DATE = decode(decode(FND_GLOBAL.CONC_REQUEST_ID, - 1, NULL, SYSDATE), NULL, l_def_chr_rec.program_update_date, SYSDATE),
6678 PROGRAM_APPLICATION_ID = NVL(decode(FND_GLOBAL.PROG_APPL_ID, - 1, NULL, FND_GLOBAL.PROG_APPL_ID), l_def_chr_rec.program_application_id),
6679 PRICE_LIST_ID = l_def_chr_rec.price_list_id,
6680 PRICING_DATE = l_def_chr_rec.pricing_date,
6681 SIGN_BY_DATE = l_def_chr_rec.sign_by_date,
6682 TOTAL_LINE_LIST_PRICE = l_def_chr_rec.total_line_list_price,
6683 USER_ESTIMATED_AMOUNT = l_def_chr_rec.user_estimated_amount,
6684 GOVERNING_CONTRACT_YN = l_def_chr_rec.governing_contract_yn,
6685 ATTRIBUTE_CATEGORY = l_def_chr_rec.attribute_category,
6686 ATTRIBUTE1 = l_def_chr_rec.attribute1,
6687 ATTRIBUTE2 = l_def_chr_rec.attribute2,
6688 ATTRIBUTE3 = l_def_chr_rec.attribute3,
6689 ATTRIBUTE4 = l_def_chr_rec.attribute4,
6690 ATTRIBUTE5 = l_def_chr_rec.attribute5,
6691 ATTRIBUTE6 = l_def_chr_rec.attribute6,
6692 ATTRIBUTE7 = l_def_chr_rec.attribute7,
6693 ATTRIBUTE8 = l_def_chr_rec.attribute8,
6694 ATTRIBUTE9 = l_def_chr_rec.attribute9,
6695 ATTRIBUTE10 = l_def_chr_rec.attribute10,
6696 ATTRIBUTE11 = l_def_chr_rec.attribute11,
6697 ATTRIBUTE12 = l_def_chr_rec.attribute12,
6698 ATTRIBUTE13 = l_def_chr_rec.attribute13,
6699 ATTRIBUTE14 = l_def_chr_rec.attribute14,
6700 ATTRIBUTE15 = l_def_chr_rec.attribute15,
6701 --new columns to replace rules
6702 conversion_type = l_def_chr_rec. conversion_type,
6703 conversion_rate = l_def_chr_rec. conversion_rate,
6704 conversion_rate_date = l_def_chr_rec. conversion_rate_date,
6705 conversion_euro_rate = l_def_chr_rec. conversion_euro_rate,
6706 cust_acct_id = l_def_chr_rec.cust_acct_id,
6707 bill_to_site_use_id = l_def_chr_rec.bill_to_site_use_id,
6708 inv_rule_id = l_def_chr_rec.inv_rule_id,
6709 renewal_type_code = l_def_chr_rec.renewal_type_code,
6710 renewal_notify_to = l_def_chr_rec.renewal_notify_to,
6711 renewal_end_date = l_def_chr_rec.renewal_end_date,
6712 ship_to_site_use_id = l_def_chr_rec.ship_to_site_use_id,
6713 payment_term_id = l_def_chr_rec.payment_term_id,
6714 -- R12 Data Model Changes 4485150 End
6715 approval_type = l_def_chr_rec.approval_type,
6716 term_cancel_source = l_def_chr_rec.term_cancel_source,
6717 payment_instruction_type = l_def_chr_rec.payment_instruction_type,
6718 cancelled_amount = l_def_chr_rec.cancelled_amount -- LLC
6719 -- R12 Data Model Changes 4485150 End
6720 WHERE ID = l_def_chr_rec.id;
6721
6722 x_chr_rec := l_def_chr_rec;
6723 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6724 IF (l_debug = 'Y') THEN
6725 okc_debug.LOG('18900: Exiting update_row', 2);
6726 okc_debug.Reset_Indentation;
6727 END IF;
6728
6729
6730 EXCEPTION
6731 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6732
6733 IF (l_debug = 'Y') THEN
6734 okc_debug.LOG('19000: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6735 okc_debug.Reset_Indentation;
6736 END IF;
6737
6738 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6739 (
6740 l_api_name,
6741 G_PKG_NAME,
6742 'OKC_API.G_RET_STS_ERROR',
6743 x_msg_count,
6744 x_msg_data,
6745 '_PVT'
6746 );
6747 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6748
6749 IF (l_debug = 'Y') THEN
6750 okc_debug.LOG('19100: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
6759 x_msg_count,
6760 x_msg_data,
6761 '_PVT'
6762 );
6763 WHEN OTHERS THEN
6764
6765 IF (l_debug = 'Y') THEN
6766 okc_debug.LOG('19200: Exiting update_row:OTHERS 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 'OTHERS',
6775 x_msg_count,
6776 x_msg_data,
6777 '_PVT'
6778 );
6779
6780 END update_row;
6781 -------------------------------------
6782 -- update_row for:OKC_K_HEADERS_TL --
6783 -------------------------------------
6784 PROCEDURE update_row(
6785 p_init_msg_list IN VARCHAR2,
6786 x_return_status OUT NOCOPY VARCHAR2,
6787 x_msg_count OUT NOCOPY NUMBER,
6788 x_msg_data OUT NOCOPY VARCHAR2,
6789 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
6790 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type) IS
6791
6792 l_api_version CONSTANT NUMBER := 1;
6793 l_api_name CONSTANT VARCHAR2(30) := 'TL_update_row';
6794 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6795 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type := p_okc_k_headers_tl_rec;
6796 l_def_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
6797 l_row_notfound BOOLEAN := TRUE;
6798 ----------------------------------
6799 -- FUNCTION populate_new_record --
6800 ----------------------------------
6801 FUNCTION populate_new_record (
6802 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
6803 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
6804 ) RETURN VARCHAR2 IS
6805 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
6806 l_row_notfound BOOLEAN := TRUE;
6807 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6808 BEGIN
6809
6810 IF (l_debug = 'Y') THEN
6811 okc_debug.Set_Indentation('OKC_CHR_PVT');
6812 okc_debug.LOG('19300: Entered populate_new_record', 2);
6813 END IF;
6814
6815 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
6816 -- Get current database values
6817 l_okc_k_headers_tl_rec := get_rec(p_okc_k_headers_tl_rec, l_row_notfound);
6818 IF (l_row_notfound) THEN
6819 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
6820 END IF;
6821 IF (x_okc_k_headers_tl_rec.id = OKC_API.G_MISS_NUM)
6822 THEN
6823 x_okc_k_headers_tl_rec.id := l_okc_k_headers_tl_rec.id;
6824 END IF;
6825 IF (x_okc_k_headers_tl_rec.language = OKC_API.G_MISS_CHAR)
6826 THEN
6827 x_okc_k_headers_tl_rec.language := l_okc_k_headers_tl_rec.language;
6828 END IF;
6829 IF (x_okc_k_headers_tl_rec.source_lang = OKC_API.G_MISS_CHAR)
6830 THEN
6831 x_okc_k_headers_tl_rec.source_lang := l_okc_k_headers_tl_rec.source_lang;
6832 END IF;
6833 IF (x_okc_k_headers_tl_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
6834 THEN
6835 x_okc_k_headers_tl_rec.sfwt_flag := l_okc_k_headers_tl_rec.sfwt_flag;
6836 END IF;
6837 IF (x_okc_k_headers_tl_rec.short_description = OKC_API.G_MISS_CHAR)
6838 THEN
6839 x_okc_k_headers_tl_rec.short_description := l_okc_k_headers_tl_rec.short_description;
6840 END IF;
6841 IF (x_okc_k_headers_tl_rec.comments = OKC_API.G_MISS_CHAR)
6842 THEN
6843 x_okc_k_headers_tl_rec.comments := l_okc_k_headers_tl_rec.comments;
6844 END IF;
6845 IF (x_okc_k_headers_tl_rec.description = OKC_API.G_MISS_CHAR)
6846 THEN
6847 x_okc_k_headers_tl_rec.description := l_okc_k_headers_tl_rec.description;
6848 END IF;
6849 IF (x_okc_k_headers_tl_rec.cognomen = OKC_API.G_MISS_CHAR)
6850 THEN
6851 x_okc_k_headers_tl_rec.cognomen := l_okc_k_headers_tl_rec.cognomen;
6852 END IF;
6853 IF (x_okc_k_headers_tl_rec.non_response_reason = OKC_API.G_MISS_CHAR)
6854 THEN
6855 x_okc_k_headers_tl_rec.non_response_reason := l_okc_k_headers_tl_rec.non_response_reason;
6856 END IF;
6857 IF (x_okc_k_headers_tl_rec.non_response_explain = OKC_API.G_MISS_CHAR)
6858 THEN
6859 x_okc_k_headers_tl_rec.non_response_explain := l_okc_k_headers_tl_rec.non_response_explain;
6860 END IF;
6861 IF (x_okc_k_headers_tl_rec.set_aside_reason = OKC_API.G_MISS_CHAR)
6862 THEN
6863 x_okc_k_headers_tl_rec.set_aside_reason := l_okc_k_headers_tl_rec.set_aside_reason;
6864 END IF;
6865 IF (x_okc_k_headers_tl_rec.created_by = OKC_API.G_MISS_NUM)
6866 THEN
6867 x_okc_k_headers_tl_rec.created_by := l_okc_k_headers_tl_rec.created_by;
6868 END IF;
6869 IF (x_okc_k_headers_tl_rec.creation_date = OKC_API.G_MISS_DATE)
6870 THEN
6871 x_okc_k_headers_tl_rec.creation_date := l_okc_k_headers_tl_rec.creation_date;
6872 END IF;
6873 IF (x_okc_k_headers_tl_rec.last_updated_by = OKC_API.G_MISS_NUM)
6874 THEN
6875 x_okc_k_headers_tl_rec.last_updated_by := l_okc_k_headers_tl_rec.last_updated_by;
6876 END IF;
6877 IF (x_okc_k_headers_tl_rec.last_update_date = OKC_API.G_MISS_DATE)
6878 THEN
6879 x_okc_k_headers_tl_rec.last_update_date := l_okc_k_headers_tl_rec.last_update_date;
6880 END IF;
6881 IF (x_okc_k_headers_tl_rec.last_update_login = OKC_API.G_MISS_NUM)
6882 THEN
6883 x_okc_k_headers_tl_rec.last_update_login := l_okc_k_headers_tl_rec.last_update_login;
6884 END IF;
6885 RETURN(l_return_status);
6886
6887 END populate_new_record;
6888 -----------------------------------------
6889 -- Set_Attributes for:OKC_K_HEADERS_TL --
6890 -----------------------------------------
6891 FUNCTION Set_Attributes (
6892 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
6893 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
6894 ) RETURN VARCHAR2 IS
6895 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
6896 BEGIN
6897
6898 IF (l_debug = 'Y') THEN
6899 okc_debug.Set_Indentation('OKC_CHR_PVT');
6900 okc_debug.LOG('19400: Entered Set_Attributes', 2);
6901 END IF;
6902
6903 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
6904 x_okc_k_headers_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
6905 x_okc_k_headers_tl_rec.SOURCE_LANG := okc_util.get_userenv_lang;
6906 RETURN(l_return_status);
6907
6908 END Set_Attributes;
6909 BEGIN
6910
6911 IF (l_debug = 'Y') THEN
6912 okc_debug.Set_Indentation('OKC_CHR_PVT');
6913 okc_debug.LOG('19500: Entered update_row', 2);
6914 END IF;
6915
6916 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
6917 p_init_msg_list,
6918 '_PVT',
6919 x_return_status);
6920 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6921 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6922 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6923 RAISE OKC_API.G_EXCEPTION_ERROR;
6924 END IF;
6925 --- Setting item attributes
6926 l_return_status := Set_Attributes(
6927 p_okc_k_headers_tl_rec, -- IN
6928 l_okc_k_headers_tl_rec); -- OUT
6929 --- If any errors happen abort API
6930 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
6931 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
6932 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
6933 RAISE OKC_API.G_EXCEPTION_ERROR;
6934 END IF;
6935 l_return_status := populate_new_record(l_okc_k_headers_tl_rec, l_def_okc_k_headers_tl_rec);
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 UPDATE OKC_K_HEADERS_TL
6942 SET SHORT_DESCRIPTION = l_def_okc_k_headers_tl_rec.short_description,
6943 COMMENTS = l_def_okc_k_headers_tl_rec.comments,
6944 DESCRIPTION = l_def_okc_k_headers_tl_rec.description,
6945 COGNOMEN = l_def_okc_k_headers_tl_rec.cognomen,
6946 NON_RESPONSE_REASON = l_def_okc_k_headers_tl_rec.non_response_reason,
6947 NON_RESPONSE_EXPLAIN = l_def_okc_k_headers_tl_rec.non_response_explain,
6948 SET_ASIDE_REASON = l_def_okc_k_headers_tl_rec.set_aside_reason,
6949 SOURCE_LANG = l_def_okc_k_headers_tl_rec.source_lang,
6950 --CREATED_BY = l_def_okc_k_headers_tl_rec.created_by,
6951 --CREATION_DATE = l_def_okc_k_headers_tl_rec.creation_date,
6952 LAST_UPDATED_BY = l_def_okc_k_headers_tl_rec.last_updated_by,
6953 LAST_UPDATE_DATE = l_def_okc_k_headers_tl_rec.last_update_date,
6954 LAST_UPDATE_LOGIN = l_def_okc_k_headers_tl_rec.last_update_login
6955 WHERE ID = l_def_okc_k_headers_tl_rec.id
6956 AND USERENV('LANG') IN (SOURCE_LANG, LANGUAGE);
6957
6958 UPDATE OKC_K_HEADERS_TL
6959 SET SFWT_FLAG = 'Y'
6960 WHERE ID = l_def_okc_k_headers_tl_rec.id
6961 AND SOURCE_LANG <> USERENV('LANG');
6962
6963 x_okc_k_headers_tl_rec := l_def_okc_k_headers_tl_rec;
6964 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
6965 IF (l_debug = 'Y') THEN
6966 okc_debug.LOG('19600: Exiting update_row', 2);
6967 okc_debug.Reset_Indentation;
6968 END IF;
6969
6970
6971 EXCEPTION
6972 WHEN OKC_API.G_EXCEPTION_ERROR THEN
6973
6974 IF (l_debug = 'Y') THEN
6975 okc_debug.LOG('19700: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
6976 okc_debug.Reset_Indentation;
6977 END IF;
6978
6979 x_return_status := OKC_API.HANDLE_EXCEPTIONS
6980 (
6981 l_api_name,
6982 G_PKG_NAME,
6983 'OKC_API.G_RET_STS_ERROR',
6984 x_msg_count,
6985 x_msg_data,
6986 '_PVT'
6987 );
6988 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
6989
6990 IF (l_debug = 'Y') THEN
6991 okc_debug.LOG('19800: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
7000 x_msg_count,
7001 x_msg_data,
7002 '_PVT'
7003 );
7004 WHEN OTHERS THEN
7005
7006 IF (l_debug = 'Y') THEN
7007 okc_debug.LOG('19900: Exiting update_row:OTHERS 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 'OTHERS',
7016 x_msg_count,
7017 x_msg_data,
7018 '_PVT'
7019 );
7020
7021 END update_row;
7022 ------------------------------------
7023 -- update_row for:OKC_K_HEADERS_V --
7024 ------------------------------------
7025 PROCEDURE update_row(
7026 p_api_version IN NUMBER,
7027 p_init_msg_list IN VARCHAR2,
7028 x_return_status OUT NOCOPY VARCHAR2,
7029 x_msg_count OUT NOCOPY NUMBER,
7030 x_msg_data OUT NOCOPY VARCHAR2,
7031 p_restricted_update IN VARCHAR2,
7032 p_chrv_rec IN chrv_rec_type,
7033 x_chrv_rec OUT NOCOPY chrv_rec_type) IS
7034
7035 l_api_version CONSTANT NUMBER := 1;
7036 l_api_name CONSTANT VARCHAR2(30) := 'V_update_row';
7037 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7038 l_chrv_rec chrv_rec_type := p_chrv_rec;
7039 l_def_chrv_rec chrv_rec_type;
7040 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
7041 lx_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
7042 l_chr_rec chr_rec_type;
7043 lx_chr_rec chr_rec_type;
7044 -------------------------------
7045 -- FUNCTION fill_who_columns --
7046 -------------------------------
7047 FUNCTION fill_who_columns (
7048 p_chrv_rec IN chrv_rec_type
7049 ) RETURN chrv_rec_type IS
7050 l_chrv_rec chrv_rec_type := p_chrv_rec;
7051 BEGIN
7052
7053 IF (l_debug = 'Y') THEN
7054 okc_debug.Set_Indentation('OKC_CHR_PVT');
7055 okc_debug.LOG('20000: Entered fill_who_columns', 2);
7056 END IF;
7057
7058 l_chrv_rec.LAST_UPDATE_DATE := SYSDATE;
7059 l_chrv_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
7060 l_chrv_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
7061 RETURN(l_chrv_rec);
7062
7063 END fill_who_columns;
7064 ----------------------------------
7065 -- FUNCTION populate_new_record --
7066 ----------------------------------
7067 FUNCTION populate_new_record (
7068 p_chrv_rec IN chrv_rec_type,
7069 x_chrv_rec OUT NOCOPY chrv_rec_type
7070 ) RETURN VARCHAR2 IS
7071 l_chrv_rec chrv_rec_type;
7072 l_row_notfound BOOLEAN := TRUE;
7073 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7074 BEGIN
7075
7076 IF (l_debug = 'Y') THEN
7077 okc_debug.Set_Indentation('OKC_CHR_PVT');
7078 okc_debug.LOG('20100: Entered populate_new_record', 2);
7079 END IF;
7080
7081 x_chrv_rec := p_chrv_rec;
7082 -- Get current database values
7083 l_chrv_rec := get_rec(p_chrv_rec, l_row_notfound);
7084 IF (l_row_notfound) THEN
7085 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
7086 END IF;
7087 IF (x_chrv_rec.id = OKC_API.G_MISS_NUM)
7088 THEN
7089 x_chrv_rec.id := l_chrv_rec.id;
7090 END IF;
7091 IF (x_chrv_rec.object_version_number = OKC_API.G_MISS_NUM)
7092 THEN
7093 x_chrv_rec.object_version_number := l_chrv_rec.object_version_number;
7094 END IF;
7095 IF (x_chrv_rec.sfwt_flag = OKC_API.G_MISS_CHAR)
7096 THEN
7097 x_chrv_rec.sfwt_flag := l_chrv_rec.sfwt_flag;
7098 END IF;
7099 IF (x_chrv_rec.chr_id_response = OKC_API.G_MISS_NUM)
7100 THEN
7101 x_chrv_rec.chr_id_response := l_chrv_rec.chr_id_response;
7102 END IF;
7103 IF (x_chrv_rec.chr_id_award = OKC_API.G_MISS_NUM)
7104 THEN
7105 x_chrv_rec.chr_id_award := l_chrv_rec.chr_id_award;
7106 END IF;
7107 IF (x_chrv_rec.INV_ORGANIZATION_ID = OKC_API.G_MISS_NUM)
7108 THEN
7109 x_chrv_rec.INV_ORGANIZATION_ID := l_chrv_rec.INV_ORGANIZATION_ID;
7110 END IF;
7111 IF (x_chrv_rec.sts_code = OKC_API.G_MISS_CHAR)
7112 THEN
7113 x_chrv_rec.sts_code := l_chrv_rec.sts_code;
7114 END IF;
7115 IF (x_chrv_rec.qcl_id = OKC_API.G_MISS_NUM)
7116 THEN
7117 x_chrv_rec.qcl_id := l_chrv_rec.qcl_id;
7118 END IF;
7119 IF (x_chrv_rec.scs_code = OKC_API.G_MISS_CHAR)
7120 THEN
7121 x_chrv_rec.scs_code := l_chrv_rec.scs_code;
7122 END IF;
7123 IF (x_chrv_rec.contract_number = OKC_API.G_MISS_CHAR)
7124 THEN
7125 x_chrv_rec.contract_number := l_chrv_rec.contract_number;
7126 END IF;
7127 IF (x_chrv_rec.currency_code = OKC_API.G_MISS_CHAR)
7128 THEN
7129 x_chrv_rec.currency_code := l_chrv_rec.currency_code;
7130 END IF;
7131 IF (x_chrv_rec.contract_number_modifier = OKC_API.G_MISS_CHAR)
7132 THEN
7133 x_chrv_rec.contract_number_modifier := l_chrv_rec.contract_number_modifier;
7134 END IF;
7135 IF (x_chrv_rec.archived_yn = OKC_API.G_MISS_CHAR)
7136 THEN
7137 x_chrv_rec.archived_yn := l_chrv_rec.archived_yn;
7138 END IF;
7139 IF (x_chrv_rec.deleted_yn = OKC_API.G_MISS_CHAR)
7140 THEN
7141 x_chrv_rec.deleted_yn := l_chrv_rec.deleted_yn;
7142 END IF;
7143 IF (x_chrv_rec.cust_po_number_req_yn = OKC_API.G_MISS_CHAR)
7144 THEN
7145 x_chrv_rec.cust_po_number_req_yn := l_chrv_rec.cust_po_number_req_yn;
7146 END IF;
7147 IF (x_chrv_rec.pre_pay_req_yn = OKC_API.G_MISS_CHAR)
7148 THEN
7149 x_chrv_rec.pre_pay_req_yn := l_chrv_rec.pre_pay_req_yn;
7150 END IF;
7151 IF (x_chrv_rec.cust_po_number = OKC_API.G_MISS_CHAR)
7152 THEN
7153 x_chrv_rec.cust_po_number := l_chrv_rec.cust_po_number;
7154 END IF;
7155 IF (x_chrv_rec.short_description = OKC_API.G_MISS_CHAR)
7156 THEN
7157 x_chrv_rec.short_description := l_chrv_rec.short_description;
7158 END IF;
7159 IF (x_chrv_rec.comments = OKC_API.G_MISS_CHAR)
7160 THEN
7161 x_chrv_rec.comments := l_chrv_rec.comments;
7162 END IF;
7163 IF (x_chrv_rec.description = OKC_API.G_MISS_CHAR)
7164 THEN
7165 x_chrv_rec.description := l_chrv_rec.description;
7166 END IF;
7167 IF (x_chrv_rec.dpas_rating = OKC_API.G_MISS_CHAR)
7168 THEN
7169 x_chrv_rec.dpas_rating := l_chrv_rec.dpas_rating;
7170 END IF;
7171 IF (x_chrv_rec.cognomen = OKC_API.G_MISS_CHAR)
7172 THEN
7173 x_chrv_rec.cognomen := l_chrv_rec.cognomen;
7174 END IF;
7175 IF (x_chrv_rec.template_yn = OKC_API.G_MISS_CHAR)
7176 THEN
7177 x_chrv_rec.template_yn := l_chrv_rec.template_yn;
7178 END IF;
7179 IF (x_chrv_rec.template_used = OKC_API.G_MISS_CHAR)
7180 THEN
7181 x_chrv_rec.template_used := l_chrv_rec.template_used;
7182 END IF;
7183 IF (x_chrv_rec.date_approved = OKC_API.G_MISS_DATE)
7184 THEN
7185 x_chrv_rec.date_approved := l_chrv_rec.date_approved;
7186 END IF;
7187 IF (x_chrv_rec.datetime_cancelled = OKC_API.G_MISS_DATE)
7188 THEN
7189 x_chrv_rec.datetime_cancelled := l_chrv_rec.datetime_cancelled;
7190 END IF;
7191 IF (x_chrv_rec.auto_renew_days = OKC_API.G_MISS_NUM)
7192 THEN
7193 x_chrv_rec.auto_renew_days := l_chrv_rec.auto_renew_days;
7194 END IF;
7195 IF (x_chrv_rec.date_issued = OKC_API.G_MISS_DATE)
7196 THEN
7197 x_chrv_rec.date_issued := l_chrv_rec.date_issued;
7198 END IF;
7199 IF (x_chrv_rec.datetime_responded = OKC_API.G_MISS_DATE)
7200 THEN
7201 x_chrv_rec.datetime_responded := l_chrv_rec.datetime_responded;
7202 END IF;
7203 IF (x_chrv_rec.non_response_reason = OKC_API.G_MISS_CHAR)
7204 THEN
7205 x_chrv_rec.non_response_reason := l_chrv_rec.non_response_reason;
7206 END IF;
7207 IF (x_chrv_rec.non_response_explain = OKC_API.G_MISS_CHAR)
7208 THEN
7209 x_chrv_rec.non_response_explain := l_chrv_rec.non_response_explain;
7210 END IF;
7211 IF (x_chrv_rec.rfp_type = OKC_API.G_MISS_CHAR)
7212 THEN
7213 x_chrv_rec.rfp_type := l_chrv_rec.rfp_type;
7214 END IF;
7215 IF (x_chrv_rec.chr_type = OKC_API.G_MISS_CHAR)
7216 THEN
7217 x_chrv_rec.chr_type := l_chrv_rec.chr_type;
7218 END IF;
7219 IF (x_chrv_rec.keep_on_mail_list = OKC_API.G_MISS_CHAR)
7220 THEN
7221 x_chrv_rec.keep_on_mail_list := l_chrv_rec.keep_on_mail_list;
7222 END IF;
7223 IF (x_chrv_rec.set_aside_reason = OKC_API.G_MISS_CHAR)
7224 THEN
7225 x_chrv_rec.set_aside_reason := l_chrv_rec.set_aside_reason;
7226 END IF;
7227 IF (x_chrv_rec.set_aside_percent = OKC_API.G_MISS_NUM)
7228 THEN
7229 x_chrv_rec.set_aside_percent := l_chrv_rec.set_aside_percent;
7230 END IF;
7231 IF (x_chrv_rec.response_copies_req = OKC_API.G_MISS_NUM)
7232 THEN
7233 x_chrv_rec.response_copies_req := l_chrv_rec.response_copies_req;
7234 END IF;
7235 IF (x_chrv_rec.date_close_projected = OKC_API.G_MISS_DATE)
7236 THEN
7237 x_chrv_rec.date_close_projected := l_chrv_rec.date_close_projected;
7238 END IF;
7239 IF (x_chrv_rec.datetime_proposed = OKC_API.G_MISS_DATE)
7240 THEN
7241 x_chrv_rec.datetime_proposed := l_chrv_rec.datetime_proposed;
7242 END IF;
7243 IF (x_chrv_rec.date_signed = OKC_API.G_MISS_DATE)
7244 THEN
7245 x_chrv_rec.date_signed := l_chrv_rec.date_signed;
7246 END IF;
7247 IF (x_chrv_rec.date_terminated = OKC_API.G_MISS_DATE)
7248 THEN
7249 x_chrv_rec.date_terminated := l_chrv_rec.date_terminated;
7250 END IF;
7251 IF (x_chrv_rec.date_renewed = OKC_API.G_MISS_DATE)
7252 THEN
7253 x_chrv_rec.date_renewed := l_chrv_rec.date_renewed;
7254 END IF;
7255 IF (x_chrv_rec.trn_code = OKC_API.G_MISS_CHAR)
7256 THEN
7257 x_chrv_rec.trn_code := l_chrv_rec.trn_code;
7258 END IF;
7259 IF (x_chrv_rec.start_date = OKC_API.G_MISS_DATE)
7260 THEN
7261 x_chrv_rec.start_date := l_chrv_rec.start_date;
7262 END IF;
7263 IF (x_chrv_rec.end_date = OKC_API.G_MISS_DATE)
7264 THEN
7265 x_chrv_rec.end_date := l_chrv_rec.end_date;
7266 END IF;
7267 IF (x_chrv_rec.authoring_org_id = OKC_API.G_MISS_NUM)
7268 THEN
7269 x_chrv_rec.authoring_org_id := l_chrv_rec.authoring_org_id;
7270 END IF;
7271 --mmadhavi added for MOAC
7272
7273 IF (x_chrv_rec.org_id = OKC_API.G_MISS_NUM)
7274 THEN
7275 x_chrv_rec.org_id := l_chrv_rec.org_id;
7276 END IF;
7277
7278 --mmadhavi end MOAC
7279 IF (x_chrv_rec.buy_or_sell = OKC_API.G_MISS_CHAR)
7280 THEN
7281 x_chrv_rec.buy_or_sell := l_chrv_rec.buy_or_sell;
7282 END IF;
7283 IF (x_chrv_rec.issue_or_receive = OKC_API.G_MISS_CHAR)
7284 THEN
7285 x_chrv_rec.issue_or_receive := l_chrv_rec.issue_or_receive;
7286 END IF;
7287 IF (x_chrv_rec.estimated_amount = OKC_API.G_MISS_NUM)
7288 THEN
7289 x_chrv_rec.estimated_amount := l_chrv_rec.estimated_amount;
7290 END IF;
7291 IF (x_chrv_rec.estimated_amount_renewed = OKC_API.G_MISS_NUM)
7292 THEN
7293 x_chrv_rec.estimated_amount_renewed := l_chrv_rec.estimated_amount_renewed;
7294 END IF;
7295 IF (x_chrv_rec.currency_code_renewed = OKC_API.G_MISS_CHAR)
7296 THEN
7297 x_chrv_rec.currency_code_renewed := l_chrv_rec.currency_code_renewed;
7298 END IF;
7299 IF (x_chrv_rec.upg_orig_system_ref = OKC_API.G_MISS_CHAR)
7300 THEN
7301 x_chrv_rec.upg_orig_system_ref := l_chrv_rec.upg_orig_system_ref;
7302 END IF;
7303 IF (x_chrv_rec.upg_orig_system_ref_id = OKC_API.G_MISS_NUM)
7304 THEN
7305 x_chrv_rec.upg_orig_system_ref_id := l_chrv_rec.upg_orig_system_ref_id;
7306 END IF;
7307 IF (x_chrv_rec.application_id = OKC_API.G_MISS_NUM)
7308 THEN
7309 x_chrv_rec.application_id := l_chrv_rec.application_id;
7310 END IF;
7311 IF (x_chrv_rec.orig_system_source_code = OKC_API.G_MISS_CHAR )
7312 THEN
7313 x_chrv_rec.orig_system_source_code := l_chrv_rec.orig_system_source_code ;
7314 END IF;
7315 IF (x_chrv_rec.orig_system_id1 = OKC_API.G_MISS_NUM )
7316 THEN
7317 x_chrv_rec.orig_system_id1 := l_chrv_rec.orig_system_id1 ;
7318 END IF;
7319 IF (x_chrv_rec.orig_system_reference1 = OKC_API.G_MISS_CHAR )
7320 THEN
7321 x_chrv_rec.orig_system_reference1 := l_chrv_rec.orig_system_reference1 ;
7322 END IF ;
7323 IF (x_chrv_rec.program_id = OKC_API.G_MISS_NUM)
7324 THEN
7325 x_chrv_rec.program_id := l_chrv_rec.program_id;
7326 END IF;
7327 IF (x_chrv_rec.request_id = OKC_API.G_MISS_NUM)
7328 THEN
7329 x_chrv_rec.request_id := l_chrv_rec.request_id;
7330 END IF;
7331 IF (x_chrv_rec.program_update_date = OKC_API.G_MISS_DATE)
7332 THEN
7333 x_chrv_rec.program_update_date := l_chrv_rec.program_update_date;
7334 END IF;
7335 IF (x_chrv_rec.program_application_id = OKC_API.G_MISS_NUM)
7336 THEN
7337 x_chrv_rec.program_application_id := l_chrv_rec.program_application_id;
7338 END IF;
7339 IF (x_chrv_rec.price_list_id = OKC_API.G_MISS_NUM)
7340 THEN
7341 x_chrv_rec.price_list_id := l_chrv_rec.price_list_id;
7342 END IF;
7343 IF (x_chrv_rec.pricing_date = OKC_API.G_MISS_DATE)
7344 THEN
7345 x_chrv_rec.pricing_date := l_chrv_rec.pricing_date;
7346 END IF;
7347 IF (x_chrv_rec.sign_by_date = OKC_API.G_MISS_DATE)
7348 THEN
7349 x_chrv_rec.sign_by_date := l_chrv_rec.sign_by_date;
7350 END IF;
7351 IF (x_chrv_rec.total_line_list_price = OKC_API.G_MISS_NUM)
7352 THEN
7353 x_chrv_rec.total_line_list_price := l_chrv_rec.total_line_list_price;
7354 END IF;
7355 IF (x_chrv_rec.user_estimated_amount = OKC_API.G_MISS_NUM) THEN
7356 x_chrv_rec.user_estimated_amount := l_chrv_rec.user_estimated_amount;
7357 END IF;
7358 IF (x_chrv_rec.governing_contract_yn = OKC_API.G_MISS_CHAR) THEN
7359 x_chrv_rec.governing_contract_yn := l_chrv_rec.governing_contract_yn;
7360 END IF;
7361 IF (x_chrv_rec.attribute_category = OKC_API.G_MISS_CHAR)
7362 THEN
7363 x_chrv_rec.attribute_category := l_chrv_rec.attribute_category;
7364 END IF;
7365 IF (x_chrv_rec.attribute1 = OKC_API.G_MISS_CHAR)
7366 THEN
7367 x_chrv_rec.attribute1 := l_chrv_rec.attribute1;
7368 END IF;
7369 IF (x_chrv_rec.attribute2 = OKC_API.G_MISS_CHAR)
7370 THEN
7371 x_chrv_rec.attribute2 := l_chrv_rec.attribute2;
7372 END IF;
7373 IF (x_chrv_rec.attribute3 = OKC_API.G_MISS_CHAR)
7374 THEN
7375 x_chrv_rec.attribute3 := l_chrv_rec.attribute3;
7376 END IF;
7377 IF (x_chrv_rec.attribute4 = OKC_API.G_MISS_CHAR)
7378 THEN
7379 x_chrv_rec.attribute4 := l_chrv_rec.attribute4;
7380 END IF;
7381 IF (x_chrv_rec.attribute5 = OKC_API.G_MISS_CHAR)
7382 THEN
7383 x_chrv_rec.attribute5 := l_chrv_rec.attribute5;
7384 END IF;
7385 IF (x_chrv_rec.attribute6 = OKC_API.G_MISS_CHAR)
7386 THEN
7387 x_chrv_rec.attribute6 := l_chrv_rec.attribute6;
7388 END IF;
7389 IF (x_chrv_rec.attribute7 = OKC_API.G_MISS_CHAR)
7390 THEN
7391 x_chrv_rec.attribute7 := l_chrv_rec.attribute7;
7392 END IF;
7393 IF (x_chrv_rec.attribute8 = OKC_API.G_MISS_CHAR)
7394 THEN
7395 x_chrv_rec.attribute8 := l_chrv_rec.attribute8;
7396 END IF;
7397 IF (x_chrv_rec.attribute9 = OKC_API.G_MISS_CHAR)
7398 THEN
7399 x_chrv_rec.attribute9 := l_chrv_rec.attribute9;
7400 END IF;
7401 IF (x_chrv_rec.attribute10 = OKC_API.G_MISS_CHAR)
7402 THEN
7403 x_chrv_rec.attribute10 := l_chrv_rec.attribute10;
7404 END IF;
7405 IF (x_chrv_rec.attribute11 = OKC_API.G_MISS_CHAR)
7406 THEN
7407 x_chrv_rec.attribute11 := l_chrv_rec.attribute11;
7408 END IF;
7409 IF (x_chrv_rec.attribute12 = OKC_API.G_MISS_CHAR)
7410 THEN
7411 x_chrv_rec.attribute12 := l_chrv_rec.attribute12;
7412 END IF;
7413 IF (x_chrv_rec.attribute13 = OKC_API.G_MISS_CHAR)
7414 THEN
7415 x_chrv_rec.attribute13 := l_chrv_rec.attribute13;
7416 END IF;
7417 IF (x_chrv_rec.attribute14 = OKC_API.G_MISS_CHAR)
7418 THEN
7419 x_chrv_rec.attribute14 := l_chrv_rec.attribute14;
7420 END IF;
7421 IF (x_chrv_rec.attribute15 = OKC_API.G_MISS_CHAR)
7422 THEN
7423 x_chrv_rec.attribute15 := l_chrv_rec.attribute15;
7424 END IF;
7425 IF (x_chrv_rec.created_by = OKC_API.G_MISS_NUM)
7426 THEN
7427 x_chrv_rec.created_by := l_chrv_rec.created_by;
7428 END IF;
7429 IF (x_chrv_rec.creation_date = OKC_API.G_MISS_DATE)
7430 THEN
7431 x_chrv_rec.creation_date := l_chrv_rec.creation_date;
7432 END IF;
7433 IF (x_chrv_rec.last_updated_by = OKC_API.G_MISS_NUM)
7434 THEN
7435 x_chrv_rec.last_updated_by := l_chrv_rec.last_updated_by;
7436 END IF;
7437 IF (x_chrv_rec.last_update_date = OKC_API.G_MISS_DATE)
7438 THEN
7439 x_chrv_rec.last_update_date := l_chrv_rec.last_update_date;
7440 END IF;
7441 IF (x_chrv_rec.last_update_login = OKC_API.G_MISS_NUM)
7442 THEN
7443 x_chrv_rec.last_update_login := l_chrv_rec.last_update_login;
7444 END IF;
7445 -- new columns to replace rules
7446 IF (x_chrv_rec.conversion_type = OKC_API.G_MISS_CHAR) THEN
7447 x_chrv_rec.conversion_type := l_chrv_rec.conversion_type;
7448 END IF;
7449 IF (x_chrv_rec.conversion_rate = OKC_API.G_MISS_NUM) THEN
7450 x_chrv_rec.conversion_rate := l_chrv_rec.conversion_rate;
7451 END IF;
7452 IF (x_chrv_rec.conversion_rate_date = OKC_API.G_MISS_DATE) THEN
7453 x_chrv_rec.conversion_rate_date := l_chrv_rec.conversion_rate_date;
7454 END IF;
7455 IF (x_chrv_rec.conversion_euro_rate = OKC_API.G_MISS_NUM) THEN
7456 x_chrv_rec.conversion_euro_rate := l_chrv_rec.conversion_euro_rate;
7457 END IF;
7458 IF (x_chrv_rec.cust_acct_id = OKC_API.G_MISS_NUM) THEN
7459 x_chrv_rec.cust_acct_id := l_chrv_rec.cust_acct_id;
7460 END IF;
7461 IF (x_chrv_rec.bill_to_site_use_id = OKC_API.G_MISS_NUM) THEN
7462 x_chrv_rec.bill_to_site_use_id := l_chrv_rec.bill_to_site_use_id;
7463 END IF;
7464 IF (x_chrv_rec.inv_rule_id = OKC_API.G_MISS_NUM) THEN
7465 x_chrv_rec.inv_rule_id := l_chrv_rec.inv_rule_id;
7466 END IF;
7467 IF (x_chrv_rec.renewal_type_code = OKC_API.G_MISS_CHAR) THEN
7468 x_chrv_rec.renewal_type_code := l_chrv_rec.renewal_type_code;
7469 END IF;
7470 IF (x_chrv_rec.renewal_notify_to = OKC_API.G_MISS_NUM) THEN
7471 x_chrv_rec.renewal_notify_to := l_chrv_rec.renewal_notify_to;
7472 END IF;
7473 IF (x_chrv_rec.renewal_end_date = OKC_API.G_MISS_DATE) THEN
7474 x_chrv_rec.renewal_end_date := l_chrv_rec.renewal_end_date;
7475 END IF;
7476 IF (x_chrv_rec.ship_to_site_use_id = OKC_API.G_MISS_NUM) THEN
7477 x_chrv_rec.ship_to_site_use_id := l_chrv_rec.ship_to_site_use_id;
7478 END IF;
7479 IF (x_chrv_rec.payment_term_id = OKC_API.G_MISS_NUM) THEN
7480 x_chrv_rec.payment_term_id := l_chrv_rec.payment_term_id;
7481 END IF;
7482 IF (x_chrv_rec.document_id = OKC_API.G_MISS_NUM) THEN
7483 x_chrv_rec.document_id := l_chrv_rec.document_id;
7484 END IF;
7485 -- R12 Data Model Changes 4485150 Start
7486 IF (x_chrv_rec.approval_type = OKC_API.G_MISS_CHAR) THEN
7487 x_chrv_rec.approval_type := l_chrv_rec.approval_type;
7488 END IF;
7489 IF (x_chrv_rec.term_cancel_source = OKC_API.G_MISS_CHAR) THEN
7490 x_chrv_rec.term_cancel_source := l_chrv_rec.term_cancel_source;
7491 END IF;
7492 IF (x_chrv_rec.payment_instruction_type = OKC_API.G_MISS_CHAR) THEN
7493 x_chrv_rec.payment_instruction_type := l_chrv_rec.payment_instruction_type;
7494 END IF;
7495 -- LLC
7496 IF (x_chrv_rec.cancelled_amount = OKC_API.G_MISS_NUM) THEN
7497 x_chrv_rec.cancelled_amount := l_chrv_rec.cancelled_amount;
7498 END IF;
7499 -- R12 Data Model Changes 4485150 End
7500
7501 RETURN(l_return_status);
7502
7503 END populate_new_record;
7504 ----------------------------------------
7505 -- Set_Attributes for:OKC_K_HEADERS_V --
7506 ----------------------------------------
7507 FUNCTION Set_Attributes (
7508 p_chrv_rec IN chrv_rec_type,
7509 x_chrv_rec OUT NOCOPY chrv_rec_type
7510 ) RETURN VARCHAR2 IS
7511 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7512 BEGIN
7513
7514 IF (l_debug = 'Y') THEN
7515 okc_debug.Set_Indentation('OKC_CHR_PVT');
7516 okc_debug.LOG('20200: Entered Set_Attributes', 2);
7517 END IF;
7518
7519 x_chrv_rec := p_chrv_rec;
7520 x_chrv_rec.OBJECT_VERSION_NUMBER := NVL(x_chrv_rec.OBJECT_VERSION_NUMBER, 0) + 1;
7521 /************************ HAND-CODED *********************************/
7522 x_chrv_rec.SFWT_FLAG := UPPER(x_chrv_rec.SFWT_FLAG);
7523 x_chrv_rec.ARCHIVED_YN := UPPER(x_chrv_rec.ARCHIVED_YN);
7524 x_chrv_rec.DELETED_YN := UPPER(x_chrv_rec.DELETED_YN);
7525 x_chrv_rec.CUST_PO_NUMBER_REQ_YN := UPPER(x_chrv_rec.CUST_PO_NUMBER_REQ_YN);
7526 x_chrv_rec.PRE_PAY_REQ_YN := UPPER(x_chrv_rec.PRE_PAY_REQ_YN);
7527 x_chrv_rec.TEMPLATE_YN := UPPER(x_chrv_rec.TEMPLATE_YN);
7528 x_chrv_rec.KEEP_ON_MAIL_LIST := UPPER(x_chrv_rec.KEEP_ON_MAIL_LIST);
7529 x_chrv_rec.CHR_TYPE := UPPER(x_chrv_rec.CHR_TYPE);
7530
7531 -- If contract is cancelled, update datetime_cancelled
7532 IF (Get_Status_Type(x_chrv_rec.STS_CODE) = 'CANCELLED' AND
7533 (x_chrv_rec.datetime_cancelled = OKC_API.G_MISS_DATE OR
7534 x_chrv_rec.datetime_cancelled IS NULL) )
7535 THEN
7536 x_chrv_rec.datetime_cancelled := SYSDATE;
7537 END IF;
7538 /*********************** END HAND-CODED ********************************/
7539 RETURN(l_return_status);
7540
7541 END Set_Attributes;
7542 BEGIN
7543
7544 IF (l_debug = 'Y') THEN
7545 okc_debug.Set_Indentation('OKC_CHR_PVT');
7546 okc_debug.LOG('20300: Entered update_row', 2);
7547 END IF;
7548
7549 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7550 G_PKG_NAME,
7551 p_init_msg_list,
7552 l_api_version,
7553 p_api_version,
7554 '_PVT',
7555 x_return_status);
7556 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7557 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7558 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7559 RAISE OKC_API.G_EXCEPTION_ERROR;
7560 END IF;
7561 --- Setting item attributes
7562 l_return_status := Set_Attributes(
7563 p_chrv_rec, -- IN
7564 l_chrv_rec); -- OUT
7565 --- If any errors happen abort API
7566 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7567 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7568 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7569 RAISE OKC_API.G_EXCEPTION_ERROR;
7570 END IF;
7571 l_return_status := populate_new_record(l_chrv_rec, l_def_chrv_rec);
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 l_def_chrv_rec := fill_who_columns(l_def_chrv_rec);
7578
7579 IF p_chrv_rec.VALIDATE_YN = 'Y' THEN ---Bug#3150149
7580 --- Validate all non-missing attributes (Item Level Validation)
7581 -- No validation if the status changes from ENTERED -> CANCELED
7582 IF (NVL(p_chrv_rec.new_ste_code, 'x') <> 'CANCELLED') THEN
7583 l_return_status := Validate_Attributes(l_def_chrv_rec);
7584 END IF;
7585 END IF; ---Bug#3150149.
7586
7587 --- If any errors happen abort API
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_return_status := Validate_Record(l_def_chrv_rec);
7594 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7595 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7596 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7597 RAISE OKC_API.G_EXCEPTION_ERROR;
7598 END IF;
7599
7600 --------------------------------------
7601 -- Move VIEW record to "Child" records
7602 --------------------------------------
7603 migrate(l_def_chrv_rec, l_okc_k_headers_tl_rec);
7604 migrate(l_def_chrv_rec, l_chr_rec);
7605 --------------------------------------------
7606 -- Call the UPDATE_ROW for each child record
7607 --------------------------------------------
7608 update_row(
7609 p_init_msg_list,
7610 x_return_status,
7611 x_msg_count,
7612 x_msg_data,
7613 l_okc_k_headers_tl_rec,
7614 lx_okc_k_headers_tl_rec
7615 );
7616 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7617 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7618 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7619 RAISE OKC_API.G_EXCEPTION_ERROR;
7620 END IF;
7621 migrate(lx_okc_k_headers_tl_rec, l_def_chrv_rec);
7622 update_row(
7623 p_init_msg_list,
7624 x_return_status,
7625 x_msg_count,
7626 x_msg_data,
7627 p_restricted_update,
7628 l_chr_rec,
7629 lx_chr_rec
7630 );
7631 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7632 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7633 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
7634 RAISE OKC_API.G_EXCEPTION_ERROR;
7635 END IF;
7636 migrate(lx_chr_rec, l_def_chrv_rec);
7637 x_chrv_rec := l_def_chrv_rec;
7638 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7639 IF (l_debug = 'Y') THEN
7640 okc_debug.LOG('20400: Exiting update_row', 2);
7641 okc_debug.Reset_Indentation;
7642 END IF;
7643
7644
7645 EXCEPTION
7646 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7647
7648 IF (l_debug = 'Y') THEN
7649 okc_debug.LOG('20500: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7650 okc_debug.Reset_Indentation;
7651 END IF;
7652
7653 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7654 (
7655 l_api_name,
7656 G_PKG_NAME,
7657 'OKC_API.G_RET_STS_ERROR',
7658 x_msg_count,
7659 x_msg_data,
7660 '_PVT'
7661 );
7662 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7663
7664 IF (l_debug = 'Y') THEN
7665 okc_debug.LOG('20600: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
7674 x_msg_count,
7675 x_msg_data,
7676 '_PVT'
7677 );
7678 WHEN OTHERS THEN
7679
7680 IF (l_debug = 'Y') THEN
7681 okc_debug.LOG('20700: Exiting update_row:OTHERS 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 'OTHERS',
7690 x_msg_count,
7691 x_msg_data,
7692 '_PVT'
7693 );
7694
7695 END update_row;
7696 ----------------------------------------
7697 -- PL/SQL TBL update_row for:CHRV_TBL --
7698 ----------------------------------------
7699 PROCEDURE update_row(
7700 p_api_version IN NUMBER,
7701 p_init_msg_list IN VARCHAR2,
7702 x_return_status OUT NOCOPY VARCHAR2,
7703 x_msg_count OUT NOCOPY NUMBER,
7704 x_msg_data OUT NOCOPY VARCHAR2,
7705 p_restricted_update IN VARCHAR2,
7706 p_chrv_tbl IN chrv_tbl_type,
7707 x_chrv_tbl OUT NOCOPY chrv_tbl_type) IS
7708
7709 l_api_version CONSTANT NUMBER := 1;
7710 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_update_row';
7711 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7712 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7713 i NUMBER := 0;
7714 BEGIN
7715
7716 IF (l_debug = 'Y') THEN
7717 okc_debug.Set_Indentation('OKC_CHR_PVT');
7718 okc_debug.LOG('20800: Entered update_row', 2);
7719 END IF;
7720
7721 OKC_API.init_msg_list(p_init_msg_list);
7722 -- Make sure PL/SQL table has records in it before passing
7723 IF (p_chrv_tbl.COUNT > 0) THEN
7724 i := p_chrv_tbl.FIRST;
7725 LOOP
7726 update_row (
7727 p_api_version => p_api_version,
7728 p_init_msg_list => OKC_API.G_FALSE,
7729 x_return_status => x_return_status,
7730 x_msg_count => x_msg_count,
7731 x_msg_data => x_msg_data,
7732 p_restricted_update => p_restricted_update,
7733 p_chrv_rec => p_chrv_tbl(i),
7734 x_chrv_rec => x_chrv_tbl(i));
7735
7736 -- store the highest degree of error
7737 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
7738 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
7739 l_overall_status := x_return_status;
7740 END IF;
7741 END IF;
7742
7743 EXIT WHEN (i = p_chrv_tbl.LAST);
7744 i := p_chrv_tbl.NEXT(i);
7745 END LOOP;
7746 -- return overall status
7747 x_return_status := l_overall_status;
7748 END IF;
7749 IF (l_debug = 'Y') THEN
7750 okc_debug.LOG('20900: Exiting update_row', 2);
7751 okc_debug.Reset_Indentation;
7752 END IF;
7753
7754
7755 EXCEPTION
7756 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7757
7758 IF (l_debug = 'Y') THEN
7759 okc_debug.LOG('21000: Exiting update_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7760 okc_debug.Reset_Indentation;
7761 END IF;
7762
7763 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7764 (
7765 l_api_name,
7766 G_PKG_NAME,
7767 'OKC_API.G_RET_STS_ERROR',
7768 x_msg_count,
7769 x_msg_data,
7770 '_PVT'
7771 );
7772 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7773
7774 IF (l_debug = 'Y') THEN
7775 okc_debug.LOG('21100: Exiting update_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
7784 x_msg_count,
7785 x_msg_data,
7786 '_PVT'
7787 );
7788 WHEN OTHERS THEN
7789
7790 IF (l_debug = 'Y') THEN
7791 okc_debug.LOG('21200: Exiting update_row:OTHERS 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 'OTHERS',
7800 x_msg_count,
7801 x_msg_data,
7802 '_PVT'
7803 );
7804
7805 END update_row;
7806
7807 ---------------------------------------------------------------------------
7808 -- PROCEDURE delete_row
7809 ---------------------------------------------------------------------------
7810 ------------------------------------
7811 -- delete_row for:OKC_K_HEADERS_ALL_B --
7812 ------------------------------------
7813 PROCEDURE delete_row(
7814 p_init_msg_list IN VARCHAR2,
7815 x_return_status OUT NOCOPY VARCHAR2,
7816 x_msg_count OUT NOCOPY NUMBER,
7817 x_msg_data OUT NOCOPY VARCHAR2,
7818 p_chr_rec IN chr_rec_type) IS
7819
7820 l_api_version CONSTANT NUMBER := 1;
7821 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
7822 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7823 l_chr_rec chr_rec_type := p_chr_rec;
7824 l_row_notfound BOOLEAN := TRUE;
7825 BEGIN
7826
7827 IF (l_debug = 'Y') THEN
7828 okc_debug.Set_Indentation('OKC_CHR_PVT');
7829 okc_debug.LOG('21300: Entered delete_row', 2);
7830 END IF;
7831
7832 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7833 p_init_msg_list,
7834 '_PVT',
7835 x_return_status);
7836 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7837 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7838 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7839 RAISE OKC_API.G_EXCEPTION_ERROR;
7840 END IF;
7841 DELETE FROM OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
7842 WHERE ID = l_chr_rec.id;
7843
7844 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7845 IF (l_debug = 'Y') THEN
7846 okc_debug.LOG('21400: Exiting delete_row', 2);
7847 okc_debug.Reset_Indentation;
7848 END IF;
7849
7850
7851 EXCEPTION
7852 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7853
7854 IF (l_debug = 'Y') THEN
7855 okc_debug.LOG('21500: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7856 okc_debug.Reset_Indentation;
7857 END IF;
7858
7859 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7860 (
7861 l_api_name,
7862 G_PKG_NAME,
7863 'OKC_API.G_RET_STS_ERROR',
7864 x_msg_count,
7865 x_msg_data,
7866 '_PVT'
7867 );
7868 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7869
7870 IF (l_debug = 'Y') THEN
7871 okc_debug.LOG('21600: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
7880 x_msg_count,
7881 x_msg_data,
7882 '_PVT'
7883 );
7884 WHEN OTHERS THEN
7885
7886 IF (l_debug = 'Y') THEN
7887 okc_debug.LOG('21700: Exiting delete_row:OTHERS 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 'OTHERS',
7896 x_msg_count,
7897 x_msg_data,
7898 '_PVT'
7899 );
7900
7901 END delete_row;
7902 -------------------------------------
7903 -- delete_row for:OKC_K_HEADERS_TL --
7904 -------------------------------------
7905 PROCEDURE delete_row(
7906 p_init_msg_list IN VARCHAR2,
7907 x_return_status OUT NOCOPY VARCHAR2,
7908 x_msg_count OUT NOCOPY NUMBER,
7909 x_msg_data OUT NOCOPY VARCHAR2,
7910 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type) IS
7911
7912 l_api_version CONSTANT NUMBER := 1;
7913 l_api_name CONSTANT VARCHAR2(30) := 'TL_delete_row';
7914 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7915 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type := p_okc_k_headers_tl_rec;
7916 l_row_notfound BOOLEAN := TRUE;
7917 -----------------------------------------
7918 -- Set_Attributes for:OKC_K_HEADERS_TL --
7919 -----------------------------------------
7920 FUNCTION Set_Attributes (
7921 p_okc_k_headers_tl_rec IN okc_k_headers_tl_rec_type,
7922 x_okc_k_headers_tl_rec OUT NOCOPY okc_k_headers_tl_rec_type
7923 ) RETURN VARCHAR2 IS
7924 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
7925 BEGIN
7926
7927 IF (l_debug = 'Y') THEN
7928 okc_debug.Set_Indentation('OKC_CHR_PVT');
7929 okc_debug.LOG('21800: Entered Set_Attributes', 2);
7930 END IF;
7931
7932 x_okc_k_headers_tl_rec := p_okc_k_headers_tl_rec;
7933 x_okc_k_headers_tl_rec.LANGUAGE := okc_util.get_userenv_lang;
7934 RETURN(l_return_status);
7935
7936 END Set_Attributes;
7937 BEGIN
7938
7939 IF (l_debug = 'Y') THEN
7940 okc_debug.Set_Indentation('OKC_CHR_PVT');
7941 okc_debug.LOG('21900: Entered delete_row', 2);
7942 END IF;
7943
7944 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
7945 p_init_msg_list,
7946 '_PVT',
7947 x_return_status);
7948 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7949 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7950 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7951 RAISE OKC_API.G_EXCEPTION_ERROR;
7952 END IF;
7953 --- Setting item attributes
7954 l_return_status := Set_Attributes(
7955 p_okc_k_headers_tl_rec, -- IN
7956 l_okc_k_headers_tl_rec); -- OUT
7957 --- If any errors happen abort API
7958 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
7959 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
7960 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
7961 RAISE OKC_API.G_EXCEPTION_ERROR;
7962 END IF;
7963 DELETE FROM OKC_K_HEADERS_TL
7964 WHERE ID = l_okc_k_headers_tl_rec.id;
7965
7966 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
7967 IF (l_debug = 'Y') THEN
7968 okc_debug.LOG('22000: Exiting delete_row', 2);
7969 okc_debug.Reset_Indentation;
7970 END IF;
7971
7972
7973 EXCEPTION
7974 WHEN OKC_API.G_EXCEPTION_ERROR THEN
7975
7976 IF (l_debug = 'Y') THEN
7977 okc_debug.LOG('22100: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
7978 okc_debug.Reset_Indentation;
7979 END IF;
7980
7981 x_return_status := OKC_API.HANDLE_EXCEPTIONS
7982 (
7983 l_api_name,
7984 G_PKG_NAME,
7985 'OKC_API.G_RET_STS_ERROR',
7986 x_msg_count,
7987 x_msg_data,
7988 '_PVT'
7989 );
7990 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
7991
7992 IF (l_debug = 'Y') THEN
7993 okc_debug.LOG('22200: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
8002 x_msg_count,
8003 x_msg_data,
8004 '_PVT'
8005 );
8006 WHEN OTHERS THEN
8007
8008 IF (l_debug = 'Y') THEN
8009 okc_debug.LOG('22300: Exiting delete_row:OTHERS 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 'OTHERS',
8018 x_msg_count,
8019 x_msg_data,
8020 '_PVT'
8021 );
8022
8023 END delete_row;
8024 ------------------------------------
8025 -- delete_row for:OKC_K_HEADERS_V --
8026 ------------------------------------
8027 PROCEDURE delete_row(
8028 p_api_version IN NUMBER,
8029 p_init_msg_list IN VARCHAR2,
8030 x_return_status OUT NOCOPY VARCHAR2,
8031 x_msg_count OUT NOCOPY NUMBER,
8032 x_msg_data OUT NOCOPY VARCHAR2,
8033 p_chrv_rec IN chrv_rec_type) IS
8034
8035 l_api_version CONSTANT NUMBER := 1;
8036 l_api_name CONSTANT VARCHAR2(30) := 'V_delete_row';
8037 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8038 l_chrv_rec chrv_rec_type := p_chrv_rec;
8039 l_okc_k_headers_tl_rec okc_k_headers_tl_rec_type;
8040 l_chr_rec chr_rec_type;
8041 BEGIN
8042
8043 IF (l_debug = 'Y') THEN
8044 okc_debug.Set_Indentation('OKC_CHR_PVT');
8045 okc_debug.LOG('22400: Entered delete_row', 2);
8046 END IF;
8047
8048 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
8049 G_PKG_NAME,
8050 p_init_msg_list,
8051 l_api_version,
8052 p_api_version,
8053 '_PVT',
8054 x_return_status);
8055 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
8056 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
8057 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
8058 RAISE OKC_API.G_EXCEPTION_ERROR;
8059 END IF;
8060 --------------------------------------
8061 -- Move VIEW record to "Child" records
8062 --------------------------------------
8063 migrate(l_chrv_rec, l_okc_k_headers_tl_rec);
8064 migrate(l_chrv_rec, l_chr_rec);
8065 --------------------------------------------
8066 -- Call the DELETE_ROW for each child record
8067 --------------------------------------------
8068 delete_row(
8069 p_init_msg_list,
8070 x_return_status,
8071 x_msg_count,
8072 x_msg_data,
8073 l_okc_k_headers_tl_rec
8074 );
8075 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
8076 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
8077 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
8078 RAISE OKC_API.G_EXCEPTION_ERROR;
8079 END IF;
8080 delete_row(
8081 p_init_msg_list,
8082 x_return_status,
8083 x_msg_count,
8084 x_msg_data,
8085 l_chr_rec
8086 );
8087 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
8088 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
8089 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
8090 RAISE OKC_API.G_EXCEPTION_ERROR;
8091 END IF;
8092 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
8093 IF (l_debug = 'Y') THEN
8094 okc_debug.LOG('22500: Exiting delete_row', 2);
8095 okc_debug.Reset_Indentation;
8096 END IF;
8097
8098
8099 EXCEPTION
8100 WHEN OKC_API.G_EXCEPTION_ERROR THEN
8101
8102 IF (l_debug = 'Y') THEN
8103 okc_debug.LOG('22600: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
8104 okc_debug.Reset_Indentation;
8105 END IF;
8106
8107 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8108 (
8109 l_api_name,
8110 G_PKG_NAME,
8111 'OKC_API.G_RET_STS_ERROR',
8112 x_msg_count,
8113 x_msg_data,
8114 '_PVT'
8115 );
8116 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8117
8118 IF (l_debug = 'Y') THEN
8119 okc_debug.LOG('22700: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
8128 x_msg_count,
8129 x_msg_data,
8130 '_PVT'
8131 );
8132 WHEN OTHERS THEN
8133
8134 IF (l_debug = 'Y') THEN
8135 okc_debug.LOG('22800: Exiting delete_row:OTHERS 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 'OTHERS',
8144 x_msg_count,
8145 x_msg_data,
8146 '_PVT'
8147 );
8148
8149 END delete_row;
8150 ----------------------------------------
8151 -- PL/SQL TBL delete_row for:CHRV_TBL --
8152 ----------------------------------------
8153 PROCEDURE delete_row(
8154 p_api_version IN NUMBER,
8155 p_init_msg_list IN VARCHAR2,
8156 x_return_status OUT NOCOPY VARCHAR2,
8157 x_msg_count OUT NOCOPY NUMBER,
8158 x_msg_data OUT NOCOPY VARCHAR2,
8159 p_chrv_tbl IN chrv_tbl_type) IS
8160
8161 l_api_version CONSTANT NUMBER := 1;
8162 l_api_name CONSTANT VARCHAR2(30) := 'V_tbl_delete_row';
8163 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8164 l_overall_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8165 i NUMBER := 0;
8166 l_dummy_val NUMBER;
8167 CURSOR l_clev_csr IS
8168 SELECT COUNT(1)
8169 FROM OKC_K_LINES_B
8170 WHERE chr_id = p_chrv_tbl(i).id;
8171 BEGIN
8172
8173 IF (l_debug = 'Y') THEN
8174 okc_debug.Set_Indentation('OKC_CHR_PVT');
8175 okc_debug.LOG('22900: Entered delete_row', 2);
8176 END IF;
8177
8178 OKC_API.init_msg_list(p_init_msg_list);
8179 -- Make sure PL/SQL table has records in it before passing
8180 IF (p_chrv_tbl.COUNT > 0) THEN
8181 i := p_chrv_tbl.FIRST;
8182 LOOP
8183 /************************ HAND-CODED ***************************/
8184 -- check whether detail records exists
8185 OPEN l_clev_csr;
8186 FETCH l_clev_csr INTO l_dummy_val;
8187 CLOSE l_clev_csr;
8188
8189 -- delete only if there are no detail records
8190 IF (l_dummy_val = 0) THEN
8191 delete_row (
8192 p_api_version => p_api_version,
8193 p_init_msg_list => p_init_msg_list,
8194 x_return_status => x_return_status,
8195 x_msg_count => x_msg_count,
8196 x_msg_data => x_msg_data,
8197 p_chrv_rec => p_chrv_tbl(i));
8198
8199 -- store the highest degree of error
8200 IF x_return_status <> OKC_API.G_RET_STS_SUCCESS THEN
8201 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
8202 l_overall_status := x_return_status;
8203 END IF;
8204 END IF;
8205 ELSE
8206 OKC_API.SET_MESSAGE(
8207 p_app_name => g_app_name,
8208 p_msg_name => G_CHILD_RECORD_EXISTS);
8209 -- notify caller of an error
8210 x_return_status := OKC_API.G_RET_STS_ERROR;
8211
8212 -- store the highest degree of error
8213 IF l_overall_status <> OKC_API.G_RET_STS_UNEXP_ERROR THEN
8214 l_overall_status := x_return_status;
8215 END IF;
8216
8217 END IF;
8218 /*********************** END HAND-CODED ************************/
8219
8220 EXIT WHEN (i = p_chrv_tbl.LAST);
8221 i := p_chrv_tbl.NEXT(i);
8222 END LOOP;
8223 -- return overall status
8224 x_return_status := l_overall_status;
8225 END IF;
8226 IF (l_debug = 'Y') THEN
8227 okc_debug.LOG('23000: Exiting delete_row', 2);
8228 okc_debug.Reset_Indentation;
8229 END IF;
8230
8231
8232 EXCEPTION
8233 WHEN OKC_API.G_EXCEPTION_ERROR THEN
8234
8235 IF (l_debug = 'Y') THEN
8236 okc_debug.LOG('23100: Exiting delete_row:OKC_API.G_EXCEPTION_ERROR Exception', 2);
8237 okc_debug.Reset_Indentation;
8238 END IF;
8239
8240 x_return_status := OKC_API.HANDLE_EXCEPTIONS
8241 (
8242 l_api_name,
8243 G_PKG_NAME,
8244 'OKC_API.G_RET_STS_ERROR',
8245 x_msg_count,
8246 x_msg_data,
8247 '_PVT'
8248 );
8249 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
8250
8251 IF (l_debug = 'Y') THEN
8252 okc_debug.LOG('23200: Exiting delete_row:OKC_API.G_EXCEPTION_UNEXPECTED_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_UNEXP_ERROR',
8261 x_msg_count,
8262 x_msg_data,
8263 '_PVT'
8264 );
8265 WHEN OTHERS THEN
8266
8267 IF (l_debug = 'Y') THEN
8268 okc_debug.LOG('23300: Exiting delete_row:OTHERS 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 'OTHERS',
8277 x_msg_count,
8278 x_msg_data,
8279 '_PVT'
8280 );
8281
8282 END delete_row;
8283
8284 ---------------------------------------------------------------
8285 -- Procedure for mass insert in OKC_K_HEADERS _B and TL tables
8286 ---------------------------------------------------------------
8287 PROCEDURE INSERT_ROW_UPG(x_return_status OUT NOCOPY VARCHAR2, p_chrv_tbl chrv_tbl_type) IS
8288 l_tabsize NUMBER := p_chrv_tbl.COUNT;
8289 l_source_lang VARCHAR2(12) := okc_util.get_userenv_lang;
8290
8291 in_id OKC_DATATYPES.NumberTabTyp;
8292 in_object_version_number OKC_DATATYPES.NumberTabTyp;
8293 in_sfwt_flag OKC_DATATYPES.Var3TabTyp;
8294 in_chr_id_response OKC_DATATYPES.NumberTabTyp;
8295 in_chr_id_award OKC_DATATYPES.NumberTabTyp;
8296 in_inv_organization_id OKC_DATATYPES.NumberTabTyp;
8297 in_sts_code OKC_DATATYPES.Var30TabTyp;
8298 in_qcl_id OKC_DATATYPES.NumberTabTyp;
8299 in_scs_code OKC_DATATYPES.Var30TabTyp;
8300 in_contract_number OKC_DATATYPES.Var120TabTyp;
8301 in_currency_code OKC_DATATYPES.Var15TabTyp;
8302 in_contract_number_modifier OKC_DATATYPES.Var120TabTyp;
8303 in_archived_yn OKC_DATATYPES.Var3TabTyp;
8304 in_deleted_yn OKC_DATATYPES.Var3TabTyp;
8305 in_cust_po_number_req_yn OKC_DATATYPES.Var3TabTyp;
8306 in_pre_pay_req_yn OKC_DATATYPES.Var3TabTyp;
8307 in_cust_po_number OKC_DATATYPES.Var150TabTyp;
8308 in_short_description OKC_DATATYPES.Var600TabTyp;
8309 in_comments OKC_DATATYPES.Var1995TabTyp;
8310 in_description OKC_DATATYPES.Var1995TabTyp;
8311 in_dpas_rating OKC_DATATYPES.Var24TabTyp;
8312 in_cognomen OKC_DATATYPES.Var300TabTyp;
8313 in_template_yn OKC_DATATYPES.Var3TabTyp;
8314 in_template_used OKC_DATATYPES.Var120TabTyp;
8315 in_date_approved OKC_DATATYPES.DateTabTyp;
8316 in_datetime_cancelled OKC_DATATYPES.DateTabTyp;
8317 in_auto_renew_days OKC_DATATYPES.NumberTabTyp;
8318 in_date_issued OKC_DATATYPES.DateTabTyp;
8319 in_datetime_responded OKC_DATATYPES.DateTabTyp;
8320 in_non_response_reason OKC_DATATYPES.Var3TabTyp;
8321 in_non_response_explain OKC_DATATYPES.Var1995TabTyp;
8322 in_rfp_type OKC_DATATYPES.Var30TabTyp;
8323 in_chr_type OKC_DATATYPES.Var30TabTyp;
8324 in_keep_on_mail_list OKC_DATATYPES.Var3TabTyp;
8325 in_set_aside_reason OKC_DATATYPES.Var3TabTyp;
8326 in_set_aside_percent OKC_DATATYPES.NumberTabTyp;
8327 in_response_copies_req OKC_DATATYPES.NumberTabTyp;
8328 in_date_close_projected OKC_DATATYPES.DateTabTyp;
8329 in_datetime_proposed OKC_DATATYPES.DateTabTyp;
8330 in_date_signed OKC_DATATYPES.DateTabTyp;
8331 in_date_terminated OKC_DATATYPES.DateTabTyp;
8332 in_date_renewed OKC_DATATYPES.DateTabTyp;
8333 in_trn_code OKC_DATATYPES.Var30TabTyp;
8334 in_start_date OKC_DATATYPES.DateTabTyp;
8335 in_end_date OKC_DATATYPES.DateTabTyp;
8336 in_authoring_org_id OKC_DATATYPES.NumberTabTyp;
8337 in_org_id OKC_DATATYPES.NumberTabTyp; --mmadhavi added for MOAC
8338 in_buy_or_sell OKC_DATATYPES.Var3TabTyp;
8339 in_issue_or_receive OKC_DATATYPES.Var3TabTyp;
8340 in_estimated_amount OKC_DATATYPES.NumberTabTyp;
8341 in_estimated_amount_renewed OKC_DATATYPES.NumberTabTyp;
8342 in_currency_code_renewed OKC_DATATYPES.Var15TabTyp;
8343 in_upg_orig_system_ref OKC_DATATYPES.Var75TabTyp;
8344 in_upg_orig_system_ref_id OKC_DATATYPES.NumberTabTyp;
8345 in_application_id OKC_DATATYPES.NumberTabTyp;
8346 in_orig_system_source_code OKC_DATATYPES.Var30TabTyp;
8347 in_orig_system_id1 OKC_DATATYPES.NumberTabTyp;
8348 in_orig_system_reference1 OKC_DATATYPES.Var30TabTyp;
8349 in_program_id OKC_DATATYPES.NumberTabTyp;
8350 in_request_id OKC_DATATYPES.NumberTabTyp;
8351 in_program_update_date OKC_DATATYPES.DateTabTyp;
8352 in_program_application_id OKC_DATATYPES.NumberTabTyp;
8353 in_price_list_id OKC_DATATYPES.NumberTabTyp;
8354 in_pricing_date OKC_DATATYPES.DateTabTyp;
8355 in_sign_by_date OKC_DATATYPES.DateTabTyp;
8356 in_total_line_list_price OKC_DATATYPES.NumberTabTyp;
8357 in_user_estimated_amount OKC_DATATYPES.NumberTabTyp;
8358 in_governing_contract_yn OKC_DATATYPES.Var3TabTyp;
8359 --new columns to replace rules
8360 in_conversion_type OKC_DATATYPES.Var30TabTyp;
8361 in_conversion_rate OKC_DATATYPES.NumberTabTyp;
8362 in_conversion_rate_date OKC_DATATYPES.DateTabTyp;
8363 in_conversion_euro_rate OKC_DATATYPES.NumberTabTyp;
8364 in_cust_acct_id OKC_DATATYPES.Number15TabTyp;
8365 in_bill_to_site_use_id OKC_DATATYPES.Number15TabTyp;
8366 in_inv_rule_id OKC_DATATYPES.Number15TabTyp;
8367 in_renewal_type_code OKC_DATATYPES.Var30TabTyp;
8368 in_renewal_notify_to OKC_DATATYPES.NumberTabTyp;
8369 in_renewal_end_date OKC_DATATYPES.DateTabTyp;
8370 in_ship_to_site_use_id OKC_DATATYPES.Number15TabTyp;
8371 in_payment_term_id OKC_DATATYPES.Number15TabTyp;
8372 --
8373 in_attribute_category OKC_DATATYPES.Var90TabTyp;
8374 in_attribute1 OKC_DATATYPES.Var450TabTyp;
8375 in_attribute2 OKC_DATATYPES.Var450TabTyp;
8376 in_attribute3 OKC_DATATYPES.Var450TabTyp;
8377 in_attribute4 OKC_DATATYPES.Var450TabTyp;
8378 in_attribute5 OKC_DATATYPES.Var450TabTyp;
8379 in_attribute6 OKC_DATATYPES.Var450TabTyp;
8380 in_attribute7 OKC_DATATYPES.Var450TabTyp;
8381 in_attribute8 OKC_DATATYPES.Var450TabTyp;
8382 in_attribute9 OKC_DATATYPES.Var450TabTyp;
8383 in_attribute10 OKC_DATATYPES.Var450TabTyp;
8384 in_attribute11 OKC_DATATYPES.Var450TabTyp;
8385 in_attribute12 OKC_DATATYPES.Var450TabTyp;
8386 in_attribute13 OKC_DATATYPES.Var450TabTyp;
8387 in_attribute14 OKC_DATATYPES.Var450TabTyp;
8388 in_attribute15 OKC_DATATYPES.Var450TabTyp;
8389 in_created_by OKC_DATATYPES.NumberTabTyp;
8390 in_creation_date OKC_DATATYPES.DateTabTyp;
8391 in_last_updated_by OKC_DATATYPES.NumberTabTyp;
8392 in_last_update_date OKC_DATATYPES.DateTabTyp;
8393 in_last_update_login OKC_DATATYPES.NumberTabTyp;
8394 -- GCHADHA --
8395 -- BUG 3941485 --
8396 in_document_id OKC_DATATYPES.NumberTabTyp;
8397 -- END GCHADHA --
8398 -- R12 Data Model Changes 4485150 Start
8399 in_approval_type OKC_DATATYPES.Var450TabTyp;
8400 in_term_cancel_source OKC_DATATYPES.Var450TabTyp;
8401 in_payment_instruction_type OKC_DATATYPES.Var450TabTyp;
8402 -- R12 Data Model Changes 4485150 End
8403
8404 i NUMBER := p_chrv_tbl.FIRST;
8405 j NUMBER := 0;
8406
8407 BEGIN
8408 --Initializing return status
8409 x_return_status := OKC_API.G_RET_STS_SUCCESS;
8410 IF (l_debug = 'Y') THEN
8411 okc_debug.Set_Indentation('OKC_CHR_PVT');
8412 okc_debug.LOG('23400: Entered INSERT_ROW_UPG', 2);
8413 END IF;
8414
8415
8416 -- pkoganti 08/26/2000
8417 -- replace for loop with while loop to handle
8418 -- gaps in pl/sql table indexes.
8419 -- Example:
8420 -- consider a pl/sql table(A) with the following elements
8421 -- A(1) = 10
8422 -- A(2) = 20
8423 -- A(6) = 30
8424 -- A(7) = 40
8425 --
8426 -- The for loop was erroring for indexes 3,4,5, the while loop
8427 -- along with the NEXT operator would handle the missing indexes
8428 -- with out causing the API to fail.
8429 --
8430 WHILE i IS NOT NULL
8431 LOOP
8432
8433 j := j + 1;
8434
8435 in_id (j) := p_chrv_tbl(i).id;
8436 -- GCHADHA --
8437 -- 3941485 --
8438 in_document_id (j) := p_chrv_tbl(i).document_id;
8439 -- END GCHADHA --
8440 in_object_version_number (j) := p_chrv_tbl(i).object_version_number;
8441 in_sfwt_flag (j) := p_chrv_tbl(i).sfwt_flag;
8442 in_chr_id_response (j) := p_chrv_tbl(i).chr_id_response;
8443 in_chr_id_award (j) := p_chrv_tbl(i).chr_id_award;
8444 in_inv_organization_id (j) := p_chrv_tbl(i).inv_organization_id;
8445 in_sts_code (j) := p_chrv_tbl(i).sts_code;
8446 in_qcl_id (j) := p_chrv_tbl(i).qcl_id;
8447 in_scs_code (j) := p_chrv_tbl(i).scs_code;
8448 in_contract_number (j) := p_chrv_tbl(i).contract_number;
8449 in_currency_code (j) := p_chrv_tbl(i).currency_code;
8450 in_contract_number_modifier (j) := p_chrv_tbl(i).contract_number_modifier;
8451 in_archived_yn (j) := p_chrv_tbl(i).archived_yn;
8452 in_deleted_yn (j) := p_chrv_tbl(i).deleted_yn;
8453 in_cust_po_number_req_yn (j) := p_chrv_tbl(i).cust_po_number_req_yn;
8454 in_pre_pay_req_yn (j) := p_chrv_tbl(i).pre_pay_req_yn;
8455 in_cust_po_number (j) := p_chrv_tbl(i).cust_po_number;
8456 in_short_description (j) := p_chrv_tbl(i).short_description;
8457 in_comments (j) := p_chrv_tbl(i).comments;
8458 in_description (j) := p_chrv_tbl(i).description;
8459 in_dpas_rating (j) := p_chrv_tbl(i).dpas_rating;
8460 in_cognomen (j) := p_chrv_tbl(i).cognomen;
8461 in_template_yn (j) := p_chrv_tbl(i).template_yn;
8462 in_template_used (j) := p_chrv_tbl(i).template_used;
8463 in_date_approved (j) := p_chrv_tbl(i).date_approved;
8464 in_datetime_cancelled (j) := p_chrv_tbl(i).datetime_cancelled;
8465 in_auto_renew_days (j) := p_chrv_tbl(i).auto_renew_days;
8466 in_date_issued (j) := p_chrv_tbl(i).date_issued;
8467 in_datetime_responded (j) := p_chrv_tbl(i).datetime_responded;
8468 in_non_response_reason (j) := p_chrv_tbl(i).non_response_reason;
8469 in_non_response_explain (j) := p_chrv_tbl(i).non_response_explain;
8470 in_rfp_type (j) := p_chrv_tbl(i).rfp_type;
8471 in_chr_type (j) := p_chrv_tbl(i).chr_type;
8472 in_keep_on_mail_list (j) := p_chrv_tbl(i).keep_on_mail_list;
8473 in_set_aside_reason (j) := p_chrv_tbl(i).set_aside_reason;
8474 in_set_aside_percent (j) := p_chrv_tbl(i).set_aside_percent;
8475 in_response_copies_req (j) := p_chrv_tbl(i).response_copies_req;
8476 in_date_close_projected (j) := p_chrv_tbl(i).date_close_projected;
8477 in_datetime_proposed (j) := p_chrv_tbl(i).datetime_proposed;
8478 in_date_signed (j) := p_chrv_tbl(i).date_signed;
8479 in_date_terminated (j) := p_chrv_tbl(i).date_terminated;
8480 in_date_renewed (j) := p_chrv_tbl(i).date_renewed;
8481 in_trn_code (j) := p_chrv_tbl(i).trn_code;
8482 in_start_date (j) := p_chrv_tbl(i).start_date;
8483 in_end_date (j) := p_chrv_tbl(i).end_date;
8484 in_authoring_org_id (j) := p_chrv_tbl(i).authoring_org_id;
8485 in_org_id (j) := p_chrv_tbl(i).org_id; --mmadhavi added for MOAC
8486 in_buy_or_sell (j) := p_chrv_tbl(i).buy_or_sell;
8487 in_issue_or_receive (j) := p_chrv_tbl(i).issue_or_receive;
8488 in_estimated_amount (j) := p_chrv_tbl(i).estimated_amount;
8489 in_estimated_amount_renewed (j) := p_chrv_tbl(i).estimated_amount_renewed;
8490 in_currency_code_renewed (j) := p_chrv_tbl(i).currency_code_renewed;
8491 in_upg_orig_system_ref (j) := p_chrv_tbl(i).upg_orig_system_ref;
8492 in_upg_orig_system_ref_id (j) := p_chrv_tbl(i).upg_orig_system_ref_id;
8493 in_application_id (j) := p_chrv_tbl(i).application_id;
8494 in_orig_system_source_code (j) := p_chrv_tbl(i).orig_system_source_code;
8495 in_orig_system_id1 (j) := p_chrv_tbl(i).orig_system_id1;
8496 in_orig_system_reference1 (j) := p_chrv_tbl(i).orig_system_reference1;
8497 in_program_id (j) := p_chrv_tbl(i). program_id;
8498 in_request_id (j) := p_chrv_tbl(i).request_id;
8499 in_program_update_date (j) := p_chrv_tbl(i).program_update_date;
8500 in_program_application_id (j) := p_chrv_tbl(i).program_application_id;
8501 in_price_list_id (j) := p_chrv_tbl(i).price_list_id;
8502 in_pricing_date (j) := p_chrv_tbl(i).pricing_date;
8503 in_sign_by_date (j) := p_chrv_tbl(i).sign_by_date;
8504 in_total_line_list_price (j) := p_chrv_tbl(i).total_line_list_price;
8505 in_user_estimated_amount (j) := p_chrv_tbl(i).user_estimated_amount;
8506 in_governing_contract_yn (j) := p_chrv_tbl(i).governing_contract_yn;
8507 in_attribute_category (j) := p_chrv_tbl(i).attribute_category;
8508 in_attribute1 (j) := p_chrv_tbl(i).attribute1;
8509 in_attribute2 (j) := p_chrv_tbl(i).attribute2;
8510 in_attribute3 (j) := p_chrv_tbl(i).attribute3;
8511 in_attribute4 (j) := p_chrv_tbl(i).attribute4;
8512 in_attribute5 (j) := p_chrv_tbl(i).attribute5;
8513 in_attribute6 (j) := p_chrv_tbl(i).attribute6;
8514 in_attribute7 (j) := p_chrv_tbl(i).attribute7;
8515 in_attribute8 (j) := p_chrv_tbl(i).attribute8;
8516 in_attribute9 (j) := p_chrv_tbl(i).attribute9;
8517 in_attribute10 (j) := p_chrv_tbl(i).attribute10;
8518 in_attribute11 (j) := p_chrv_tbl(i).attribute11;
8519 in_attribute12 (j) := p_chrv_tbl(i).attribute12;
8520 in_attribute13 (j) := p_chrv_tbl(i).attribute13;
8521 in_attribute14 (j) := p_chrv_tbl(i).attribute14;
8522 in_attribute15 (j) := p_chrv_tbl(i).attribute15;
8523 in_created_by (j) := p_chrv_tbl(i).created_by;
8524 in_creation_date (j) := p_chrv_tbl(i).creation_date;
8525 in_last_updated_by (j) := p_chrv_tbl(i).last_updated_by;
8526 in_last_update_date (j) := p_chrv_tbl(i).last_update_date;
8527 in_last_update_login (j) := p_chrv_tbl(i).last_update_login;
8528 --new columns to replace rules
8529 in_conversion_type (j) := p_chrv_tbl(i).conversion_type;
8530 in_conversion_rate (j) := p_chrv_tbl(i).conversion_rate;
8531 in_conversion_rate_date (j) := p_chrv_tbl(i).conversion_rate_date;
8532 in_conversion_euro_rate (j) := p_chrv_tbl(i).conversion_euro_rate;
8533 in_cust_acct_id (j) := p_chrv_tbl(i).cust_acct_id;
8534 in_bill_to_site_use_id (j) := p_chrv_tbl(i).bill_to_site_use_id;
8535 in_inv_rule_id (j) := p_chrv_tbl(i).inv_rule_id;
8536 in_renewal_type_code (j) := p_chrv_tbl(i).renewal_type_code;
8537 in_renewal_notify_to (j) := p_chrv_tbl(i).renewal_notify_to;
8538 in_renewal_end_date (j) := p_chrv_tbl(i).renewal_end_date;
8539 in_ship_to_site_use_id (j) := p_chrv_tbl(i).ship_to_site_use_id;
8540 in_payment_term_id (j) := p_chrv_tbl(i).payment_term_id;
8541 -- R12 Data Model Changes 4485150 End
8542 in_approval_type (j) := p_chrv_tbl(i).approval_type ;
8543 in_term_cancel_source (j) := p_chrv_tbl(i).term_cancel_source ;
8544 in_payment_instruction_type (j) := p_chrv_tbl(i).payment_instruction_type;
8545 -- R12 Data Model Changes 4485150 End
8546 i := p_chrv_tbl.NEXT(i);
8547 END LOOP;
8548
8549 FORALL i IN 1..l_tabsize
8550 INSERT
8551 INTO OKC_K_HEADERS_ALL_B --mmadhavi changed to _ALL for MOAC
8552 (
8553 id,
8554 -- GCHADHA --
8555 -- BUG 3941485 --
8556 document_id,
8557 -- END GCHADHA --
8558 contract_number,
8559 authoring_org_id,
8560 org_id, --mmadhavi added for MOAC
8561 contract_number_modifier,
8562 chr_id_response,
8563 chr_id_award,
8564 sts_code,
8565 qcl_id,
8566 scs_code,
8567 trn_code,
8568 currency_code,
8569 archived_yn,
8570 deleted_yn,
8571 template_yn,
8572 chr_type,
8573 object_version_number,
8574 created_by,
8575 creation_date,
8576 last_updated_by,
8577 last_update_date,
8578 cust_po_number_req_yn,
8579 pre_pay_req_yn,
8580 cust_po_number,
8581 dpas_rating,
8582 template_used,
8583 date_approved,
8584 datetime_cancelled,
8585 auto_renew_days,
8586 date_issued,
8587 datetime_responded,
8588 rfp_type,
8589 keep_on_mail_list,
8590 set_aside_percent,
8591 response_copies_req,
8592 date_close_projected,
8593 datetime_proposed,
8594 date_signed,
8595 date_terminated,
8596 date_renewed,
8597 start_date,
8598 end_date,
8599 buy_or_sell,
8600 issue_or_receive,
8601 last_update_login,
8602 upg_orig_system_ref,
8603 upg_orig_system_ref_id,
8604 application_id,
8605 orig_system_source_code,
8606 orig_system_id1,
8607 orig_system_reference1,
8608 program_id,
8609 request_id,
8610 program_update_date,
8611 program_application_id,
8612 price_list_id,
8613 pricing_date,
8614 sign_by_date,
8615 total_line_list_price,
8616 user_estimated_amount,
8617 governing_contract_yn,
8618 attribute_category,
8619 attribute1,
8620 attribute2,
8621 attribute3,
8622 attribute4,
8623 attribute5,
8624 attribute6,
8625 attribute7,
8626 attribute8,
8627 attribute9,
8628 attribute10,
8629 attribute11,
8630 attribute12,
8631 attribute13,
8632 attribute14,
8633 attribute15,
8634 estimated_amount,
8635 inv_organization_id,
8636 estimated_amount_renewed,
8637 currency_code_renewed,
8638 -- new columns to replace rules
8639 conversion_type,
8640 conversion_rate,
8641 conversion_rate_date,
8642 conversion_euro_rate,
8643 cust_acct_id,
8644 bill_to_site_use_id,
8645 inv_rule_id,
8646 renewal_type_code,
8647 renewal_notify_to,
8648 renewal_end_date,
8649 ship_to_site_use_id,
8650 payment_term_id,
8651 -- R12 Data Model Changes 4485150 End
8652 approval_type,
8653 term_cancel_source,
8654 payment_instruction_type
8655 -- R12 Data Model Changes 4485150 End
8656 )
8657 VALUES (
8658 in_id(i),
8659 -- GCHADHA --
8660 -- 3941485 --
8661 in_document_id(i),
8662 -- END GCHADHA --
8663 in_contract_number(i),
8664 in_authoring_org_id(i),
8665 in_org_id(i), --mmadhavi added for MOAC
8666 in_contract_number_modifier(i),
8667 in_chr_id_response(i),
8668 in_chr_id_award(i),
8669 in_sts_code(i),
8670 in_qcl_id(i),
8671 in_scs_code(i),
8672 in_trn_code(i),
8673 in_currency_code(i),
8674 in_archived_yn(i),
8675 in_deleted_yn(i),
8676 in_template_yn(i),
8677 in_chr_type(i),
8678 in_object_version_number(i),
8679 in_created_by(i),
8680 in_creation_date(i),
8681 in_last_updated_by(i),
8682 in_last_update_date(i),
8683 in_cust_po_number_req_yn(i),
8684 in_pre_pay_req_yn(i),
8685 in_cust_po_number(i),
8686 in_dpas_rating(i),
8687 in_template_used(i),
8688 in_date_approved(i),
8689 in_datetime_cancelled(i),
8690 in_auto_renew_days(i),
8691 in_date_issued(i),
8692 in_datetime_responded(i),
8693 in_rfp_type(i),
8694 in_keep_on_mail_list(i),
8695 in_set_aside_percent(i),
8696 in_response_copies_req(i),
8697 in_date_close_projected(i),
8698 in_datetime_proposed(i),
8699 in_date_signed(i),
8700 in_date_terminated(i),
8701 in_date_renewed(i),
8702 in_start_date(i),
8703 in_end_date(i),
8704 in_buy_or_sell(i),
8705 in_issue_or_receive(i),
8706 in_last_update_login(i),
8707 in_upg_orig_system_ref(i),
8708 in_upg_orig_system_ref_id(i),
8709 in_application_id(i),
8710 in_orig_system_source_code(i),
8711 in_orig_system_id1(i),
8712 in_orig_system_reference1(i),
8713 in_program_id(i),
8714 in_request_id(i),
8715 in_program_update_date(i),
8716 in_program_application_id(i),
8717 in_price_list_id(i),
8718 in_pricing_date(i),
8719 in_sign_by_date(i),
8720 in_total_line_list_price(i),
8721 in_user_estimated_amount(i),
8722 in_governing_contract_yn(i),
8723 in_attribute_category(i),
8724 in_attribute1(i),
8725 in_attribute2(i),
8726 in_attribute3(i),
8727 in_attribute4(i),
8728 in_attribute5(i),
8729 in_attribute6(i),
8730 in_attribute7(i),
8731 in_attribute8(i),
8732 in_attribute9(i),
8733 in_attribute10(i),
8734 in_attribute11(i),
8735 in_attribute12(i),
8736 in_attribute13(i),
8737 in_attribute14(i),
8738 in_attribute15(i),
8739 in_estimated_amount(i),
8740 in_inv_organization_id(i),
8741 in_estimated_amount_renewed(i),
8742 in_currency_code_renewed(i),
8743 --new columns to replace rules
8744 in_conversion_type(i),
8745 in_conversion_rate(i),
8746 in_conversion_rate_date(i),
8747 in_conversion_euro_rate(i),
8748 in_cust_acct_id(i),
8749 in_bill_to_site_use_id(i),
8750 in_inv_rule_id(i),
8751 in_renewal_type_code(i),
8752 in_renewal_notify_to(i),
8753 in_renewal_end_date(i),
8754 in_ship_to_site_use_id(i),
8755 in_payment_term_id(i),
8756 -- R12 Data Model Changes 4485150 End
8757 in_approval_type(i),
8758 in_term_cancel_source(i),
8759 in_payment_instruction_type(i)
8760 -- R12 Data Model Changes 4485150 End
8761 );
8762
8763 FOR lang_i IN OKC_UTIL.g_language_code.FIRST..OKC_UTIL.g_language_code.LAST LOOP
8764 FORALL i IN 1..l_tabsize
8765 INSERT INTO OKC_K_HEADERS_TL(
8766 id,
8767 language,
8768 source_lang,
8769 sfwt_flag,
8770 short_description,
8771 comments,
8772 description,
8773 cognomen,
8774 non_response_reason,
8775 non_response_explain,
8776 set_aside_reason,
8777 created_by,
8778 creation_date,
8779 last_updated_by,
8780 last_update_date,
8781 last_update_login
8782 )
8783 VALUES (
8784 in_id(i),
8785 OKC_UTIL.g_language_code(lang_i),
8786 l_source_lang,
8787 in_sfwt_flag(i),
8788 in_short_description(i),
8789 in_comments(i),
8790 in_description(i),
8791 in_cognomen(i),
8792 in_non_response_reason(i),
8793 in_non_response_explain(i),
8794 in_set_aside_reason(i),
8795 in_created_by(i),
8796 in_creation_date(i),
8797 in_last_updated_by(i),
8798 in_last_update_date(i),
8799 in_last_update_login(i)
8800 );
8801 END LOOP;
8802
8803 -- Insert version numbers
8804 FORALL i IN 1..l_tabsize
8805 INSERT
8806 INTO OKC_K_VERS_NUMBERS
8807 (
8808 chr_id,
8809 major_version,
8810 minor_version,
8811 object_version_number,
8812 created_by,
8813 creation_date,
8814 last_updated_by,
8815 last_update_date,
8816 last_update_login
8817 )
8818 VALUES (
8819 in_id(i),
8820 0,
8821 0,
8822 in_object_version_number(i),
8823 in_created_by(i),
8824 in_creation_date(i),
8825 in_last_updated_by(i),
8826 in_last_update_date(i),
8827 in_last_update_login(i)
8828 );
8829
8830 IF (l_debug = 'Y') THEN
8831 okc_debug.LOG('23500: Exiting INSERT_ROW_UPG', 2);
8832 okc_debug.Reset_Indentation;
8833 END IF;
8834
8835
8836 EXCEPTION
8837 WHEN OTHERS THEN
8838
8839 IF (l_debug = 'Y') THEN
8840 okc_debug.LOG('23600: Exiting INSERT_ROW_UPG:OTHERS Exception', 2);
8841 okc_debug.Reset_Indentation;
8842 END IF;
8843 -- Store SQL error message on message stack
8844 OKC_API.SET_MESSAGE(
8845 p_app_name => G_APP_NAME,
8846 p_msg_name => G_UNEXPECTED_ERROR,
8847 p_token1 => G_SQLCODE_TOKEN,
8848 p_token1_value => SQLCODE,
8849 p_token2 => G_SQLERRM_TOKEN,
8850 p_token2_value => SQLERRM);
8851 -- notify caller of an error as UNEXPETED error
8852 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
8853
8854 -- RAISE;
8855
8856 END INSERT_ROW_UPG;
8857
8858 --This function is called from versioning API OKC_VERSION_PVT
8859 --Old Location: OKCRVERB.pls
8860 --New Location: Base Table API
8861
8862 FUNCTION create_version(
8863 p_chr_id IN NUMBER,
8864 p_major_version IN NUMBER
8865 ) RETURN VARCHAR2 IS
8866
8867 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
8868
8869 BEGIN
8870
8871 IF (l_debug = 'Y') THEN
8872 okc_debug.Set_Indentation('OKC_CHR_PVT');
8873 okc_debug.LOG('23700: Entered create_version', 2);
8874 END IF;
8875
8876 INSERT INTO okc_k_headers_all_bh --mmadhavi changed to _ALL for MOAC
8877 (
8878 major_version,
8879 id,
8880 contract_number,
8881 authoring_org_id,
8882 org_id, --mmadhavi added for MOAC
8883 contract_number_modifier,
8884 chr_id_response,
8885 chr_id_award,
8886 sts_code,
8887 qcl_id,
8888 scs_code,
8889 trn_code,
8890 currency_code,
8891 archived_yn,
8892 deleted_yn,
8893 template_yn,
8894 chr_type,
8895 object_version_number,
8896 created_by,
8897 creation_date,
8898 last_updated_by,
8899 last_update_date,
8900 cust_po_number_req_yn,
8901 pre_pay_req_yn,
8902 cust_po_number,
8903 dpas_rating,
8904 template_used,
8905 date_approved,
8906 datetime_cancelled,
8907 auto_renew_days,
8908 date_issued,
8909 datetime_responded,
8910 rfp_type,
8911 keep_on_mail_list,
8912 set_aside_percent,
8913 response_copies_req,
8914 date_close_projected,
8915 datetime_proposed,
8916 date_signed,
8917 date_terminated,
8918 date_renewed,
8919 start_date,
8920 end_date,
8921 buy_or_sell,
8922 issue_or_receive,
8923 last_update_login,
8924 application_id,
8925 orig_system_source_code,
8926 orig_system_id1,
8927 orig_system_reference1,
8928 upg_orig_system_ref,
8929 upg_orig_system_ref_id,
8930 program_id,
8931 request_id,
8932 program_update_date,
8933 program_application_id,
8934 price_list_id,
8935 pricing_date,
8936 sign_by_date,
8937 total_line_list_price,
8938 user_estimated_amount,
8939 governing_contract_yn,
8940 attribute_category,
8941 attribute1,
8942 attribute2,
8943 attribute3,
8944 attribute4,
8945 attribute5,
8946 attribute6,
8947 attribute7,
8948 attribute8,
8949 attribute9,
8950 attribute10,
8951 attribute11,
8952 attribute12,
8953 attribute13,
8954 attribute14,
8955 attribute15,
8956 estimated_amount,
8957 inv_organization_id,
8958 currency_code_renewed,
8959 estimated_amount_renewed,
8960 -- new columns to replace rules
8961 conversion_type,
8962 conversion_rate,
8963 conversion_rate_date,
8964 conversion_euro_rate,
8965 cust_acct_id,
8966 bill_to_site_use_id,
8967 inv_rule_id,
8968 renewal_type_code,
8969 renewal_notify_to,
8970 renewal_end_date,
8971 ship_to_site_use_id,
8972 payment_term_id,
8973 document_id,
8974 -- R12 Data Model Changes 4485150 End
8975 approval_type,
8976 term_cancel_source,
8977 payment_instruction_type,
8978 -- R12 Data Model Changes 4485150 End
8979 cancelled_amount -- LLC
8980 )
8981 SELECT
8982 p_major_version,
8983 id,
8984 contract_number,
8985 authoring_org_id,
8986 org_id, --mmadhavi added for MOAC
8987 contract_number_modifier,
8988 chr_id_response,
8989 chr_id_award,
8990 sts_code,
8991 qcl_id,
8992 scs_code,
8993 trn_code,
8994 currency_code,
8995 archived_yn,
8996 deleted_yn,
8997 template_yn,
8998 chr_type,
8999 object_version_number,
9000 created_by,
9001 creation_date,
9002 last_updated_by,
9003 last_update_date,
9004 cust_po_number_req_yn,
9005 pre_pay_req_yn,
9006 cust_po_number,
9007 dpas_rating,
9008 template_used,
9009 date_approved,
9010 datetime_cancelled,
9011 auto_renew_days,
9012 date_issued,
9013 datetime_responded,
9014 rfp_type,
9015 keep_on_mail_list,
9016 set_aside_percent,
9017 response_copies_req,
9018 date_close_projected,
9019 datetime_proposed,
9020 date_signed,
9021 date_terminated,
9022 date_renewed,
9023 start_date,
9024 end_date,
9025 buy_or_sell,
9026 issue_or_receive,
9027 last_update_login,
9028 application_id,
9029 orig_system_source_code,
9030 orig_system_id1,
9031 orig_system_reference1,
9032 upg_orig_system_ref,
9033 upg_orig_system_ref_id,
9034 program_id,
9035 request_id,
9036 program_update_date,
9037 program_application_id,
9038 price_list_id,
9039 pricing_date,
9040 sign_by_date,
9041 total_line_list_price,
9042 user_estimated_amount,
9043 governing_contract_yn,
9044 attribute_category,
9045 attribute1,
9046 attribute2,
9047 attribute3,
9048 attribute4,
9049 attribute5,
9050 attribute6,
9051 attribute7,
9052 attribute8,
9053 attribute9,
9054 attribute10,
9055 attribute11,
9056 attribute12,
9057 attribute13,
9058 attribute14,
9059 attribute15,
9060 estimated_amount,
9061 inv_organization_id,
9062 currency_code_renewed,
9063 estimated_amount_renewed,
9064 -- new columns to replace rules
9065 conversion_type,
9066 conversion_rate,
9067 conversion_rate_date,
9068 conversion_euro_rate,
9069 cust_acct_id,
9070 bill_to_site_use_id,
9071 inv_rule_id,
9072 renewal_type_code,
9073 renewal_notify_to,
9074 renewal_end_date,
9075 ship_to_site_use_id,
9076 payment_term_id,
9077 document_id,
9078 -- R12 Data Model Changes 4485150 Start
9079 approval_type,
9080 term_cancel_source,
9081 payment_instruction_type,
9082 cancelled_amount -- LLC
9083 -- R12 Data Model Changes 4485150 End
9084 FROM okc_k_headers_all_b --mamdhavi changed to _ALL for MOAC
9085 WHERE id = p_chr_id;
9086
9087 --------------------------------
9088 -- Versioning TL Table
9089 --------------------------------
9090
9091 INSERT INTO okc_k_headers_tlh
9092 (
9093 major_version,
9094 id,
9095 language,
9096 source_lang,
9097 sfwt_flag,
9098 short_description,
9099 comments,
9100 description,
9101 cognomen,
9102 non_response_reason,
9103 non_response_explain,
9104 set_aside_reason,
9105 created_by,
9106 creation_date,
9107 last_updated_by,
9108 last_update_date,
9109 last_update_login
9110 )
9111 SELECT
9112 p_major_version,
9113 id,
9114 language,
9115 source_lang,
9116 sfwt_flag,
9117 short_description,
9118 comments,
9119 description,
9120 cognomen,
9121 non_response_reason,
9122 non_response_explain,
9123 set_aside_reason,
9124 created_by,
9125 creation_date,
9126 last_updated_by,
9127 last_update_date,
9128 last_update_login
9129 FROM okc_k_headers_tl
9130 WHERE id = p_chr_id;
9131
9132 RETURN l_return_status;
9133 IF (l_debug = 'Y') THEN
9134 okc_debug.LOG('23800: Exiting create_version', 2);
9135 okc_debug.Reset_Indentation;
9136 END IF;
9137
9138
9139 EXCEPTION
9140 -- other appropriate handlers
9141 WHEN OTHERS THEN
9142
9143 IF (l_debug = 'Y') THEN
9144 okc_debug.LOG('23900: Exiting create_version:OTHERS Exception', 2);
9145 okc_debug.Reset_Indentation;
9146 END IF;
9147
9148 -- store SQL error message on message stack
9149 OKC_API.SET_MESSAGE(p_app_name => okc_version_pvt.G_APP_NAME,
9150 p_msg_name => okc_version_pvt.G_UNEXPECTED_ERROR,
9151 p_token1 => okc_version_pvt.G_SQLCODE_TOKEN,
9152 p_token1_value => SQLCODE,
9153 p_token2 => okc_version_pvt.G_SQLERRM_TOKEN,
9154 p_token2_value => SQLERRM);
9155
9156 -- notify UNEXPECTED error
9157 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
9158 RETURN l_return_status;
9159
9160 END create_version;
9161
9162 --This Function is called from Versioning API OKC_VERSION_PVT
9163 --Old Location:OKCRVERB.pls
9164 --New Location:Base Table API
9165
9166
9167 FUNCTION restore_version(
9168 p_chr_id IN NUMBER,
9169 p_major_version IN NUMBER
9170 ) RETURN VARCHAR2 IS
9171
9172 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
9173
9174 BEGIN
9175
9176 IF (l_debug = 'Y') THEN
9177 okc_debug.Set_Indentation('OKC_CHR_PVT');
9178 okc_debug.LOG('24000: Entered restore_version', 2);
9179 END IF;
9180
9181 INSERT INTO okc_k_headers_tl
9182 (
9183 id,
9184 language,
9185 source_lang,
9186 sfwt_flag,
9187 short_description,
9188 comments,
9189 description,
9190 cognomen,
9191 non_response_reason,
9192 non_response_explain,
9193 set_aside_reason,
9194 created_by,
9195 creation_date,
9196 last_updated_by,
9197 last_update_date,
9198 last_update_login
9199 )
9200 SELECT
9201 id,
9202 language,
9203 source_lang,
9204 sfwt_flag,
9205 short_description,
9206 comments,
9207 description,
9208 cognomen,
9209 non_response_reason,
9210 non_response_explain,
9211 set_aside_reason,
9212 created_by,
9213 creation_date,
9214 last_updated_by,
9215 last_update_date,
9216 last_update_login
9217 FROM okc_k_headers_tlh
9218 WHERE id = p_chr_id
9219 AND major_version = p_major_version;
9220
9221 --------------------------------------
9222 -- Restore Base Table
9223 --------------------------------------
9224
9225 INSERT INTO okc_k_headers_all_b --mmadhavi changed to _ALL for MOAC
9226 (
9227 id,
9228 contract_number,
9229 authoring_org_id,
9230 org_id, --mmadhavi added for MOAC
9231 contract_number_modifier,
9232 chr_id_response,
9233 chr_id_award,
9234 sts_code,
9235 qcl_id,
9236 scs_code,
9237 trn_code,
9238 currency_code,
9239 archived_yn,
9240 deleted_yn,
9241 template_yn,
9242 chr_type,
9243 object_version_number,
9244 created_by,
9245 creation_date,
9246 last_updated_by,
9247 last_update_date,
9248 cust_po_number_req_yn,
9249 pre_pay_req_yn,
9250 cust_po_number,
9251 dpas_rating,
9252 template_used,
9253 date_approved,
9254 datetime_cancelled,
9255 auto_renew_days,
9256 date_issued,
9257 datetime_responded,
9258 rfp_type,
9259 keep_on_mail_list,
9260 set_aside_percent,
9261 response_copies_req,
9262 date_close_projected,
9263 datetime_proposed,
9264 date_signed,
9265 date_terminated,
9266 date_renewed,
9267 start_date,
9268 end_date,
9269 buy_or_sell,
9270 issue_or_receive,
9271 last_update_login,
9272 application_id,
9273 orig_system_source_code,
9274 orig_system_id1,
9275 orig_system_reference1,
9276 upg_orig_system_ref,
9277 upg_orig_system_ref_id,
9278 program_id,
9279 request_id,
9280 program_update_date,
9281 program_application_id,
9282 price_list_id,
9283 pricing_date,
9284 sign_by_date,
9285 total_line_list_price,
9286 user_estimated_amount,
9287 governing_contract_yn,
9288 attribute_category,
9289 attribute1,
9290 attribute2,
9291 attribute3,
9292 attribute4,
9293 attribute5,
9294 attribute6,
9295 attribute7,
9296 attribute8,
9297 attribute9,
9298 attribute10,
9299 attribute11,
9300 attribute12,
9301 attribute13,
9302 attribute14,
9303 attribute15,
9304 estimated_amount,
9305 inv_organization_id,
9306 currency_code_renewed,
9307 estimated_amount_renewed,
9308 -- new columns to replace rules
9309 conversion_type,
9310 conversion_rate,
9311 conversion_rate_date,
9312 conversion_euro_rate,
9313 cust_acct_id,
9314 bill_to_site_use_id,
9315 inv_rule_id,
9316 renewal_type_code,
9317 renewal_notify_to,
9318 renewal_end_date,
9319 ship_to_site_use_id,
9320 payment_term_id,
9321 document_id,
9322 -- R12 Data Model Changes 4485150 Start
9323 approval_type,
9324 term_cancel_source,
9325 payment_instruction_type,
9326 cancelled_amount -- LLC
9327 -- R12 Data Model Changes 4485150 Start
9328 )
9329 SELECT
9330 id,
9331 contract_number,
9332 authoring_org_id,
9333 org_id, --mmadhavi added for MOAC
9334 contract_number_modifier,
9335 chr_id_response,
9336 chr_id_award,
9337 sts_code,
9338 qcl_id,
9339 scs_code,
9340 trn_code,
9341 currency_code,
9342 archived_yn,
9343 deleted_yn,
9344 template_yn,
9345 chr_type,
9346 object_version_number,
9347 created_by,
9348 creation_date,
9349 last_updated_by,
9350 last_update_date,
9351 cust_po_number_req_yn,
9352 pre_pay_req_yn,
9353 cust_po_number,
9354 dpas_rating,
9355 template_used,
9356 date_approved,
9357 datetime_cancelled,
9358 auto_renew_days,
9359 date_issued,
9360 datetime_responded,
9361 rfp_type,
9362 keep_on_mail_list,
9363 set_aside_percent,
9364 response_copies_req,
9365 date_close_projected,
9366 datetime_proposed,
9367 date_signed,
9368 date_terminated,
9369 date_renewed,
9370 start_date,
9371 end_date,
9372 buy_or_sell,
9373 issue_or_receive,
9374 last_update_login,
9375 application_id,
9376 orig_system_source_code,
9377 orig_system_id1,
9378 orig_system_reference1,
9379 upg_orig_system_ref,
9380 upg_orig_system_ref_id,
9381 program_id,
9382 request_id,
9383 program_update_date,
9384 program_application_id,
9385 price_list_id,
9386 pricing_date,
9387 sign_by_date,
9388 total_line_list_price,
9389 user_estimated_amount,
9390 governing_contract_yn,
9391 attribute_category,
9392 attribute1,
9393 attribute2,
9394 attribute3,
9395 attribute4,
9396 attribute5,
9397 attribute6,
9398 attribute7,
9399 attribute8,
9400 attribute9,
9401 attribute10,
9402 attribute11,
9403 attribute12,
9404 attribute13,
9405 attribute14,
9406 attribute15,
9407 estimated_amount,
9408 inv_organization_id,
9409 currency_code_renewed,
9410 estimated_amount_renewed,
9411 conversion_type,
9412 conversion_rate,
9413 conversion_rate_date,
9414 conversion_euro_rate,
9415 cust_acct_id,
9416 bill_to_site_use_id,
9417 inv_rule_id,
9418 renewal_type_code,
9419 renewal_notify_to,
9420 renewal_end_date,
9421 ship_to_site_use_id,
9422 payment_term_id,
9423 document_id,
9424 -- R12 data Model Changes 4485150 Start
9425 approval_type,
9426 term_cancel_source,
9427 payment_instruction_type,
9428 cancelled_amount -- LLC
9429 -- R12 data Model Changes 4485150 End
9430 FROM okc_k_headers_all_bh --mmadhavi changed to _ALL for MOAC
9431 WHERE id = p_chr_id
9432 AND major_version = p_major_version;
9433
9434 RETURN l_return_status;
9435 IF (l_debug = 'Y') THEN
9436 okc_debug.LOG('24100: Exiting restore_version', 2);
9437 okc_debug.Reset_Indentation;
9438 END IF;
9439
9440
9441 EXCEPTION
9442 -- other appropriate handlers
9443 WHEN OTHERS THEN
9444
9445 IF (l_debug = 'Y') THEN
9446 okc_debug.LOG('24200: Exiting restore_version:OTHERS Exception', 2);
9447 okc_debug.Reset_Indentation;
9448 END IF;
9449
9450 -- store SQL error message on message stack
9451 OKC_API.SET_MESSAGE(p_app_name => okc_version_pvt.G_APP_NAME,
9452 p_msg_name => okc_version_pvt.G_UNEXPECTED_ERROR,
9453 p_token1 => okc_version_pvt.G_SQLCODE_TOKEN,
9454 p_token1_value => SQLCODE,
9455 p_token2 => okc_version_pvt.G_SQLERRM_TOKEN,
9456 p_token2_value => SQLERRM);
9457
9458 -- notify UNEXPECTED error
9459 l_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
9460 RETURN l_return_status;
9461
9462 END restore_version;
9463
9464
9465
9466 END OKC_CHR_PVT;