[Home] [Help]
PACKAGE BODY: APPS.OKE_CLE_PVT
Source
1 PACKAGE BODY OKE_CLE_PVT AS
2 /* $Header: OKEVCLEB.pls 120.1 2005/11/23 14:37:14 ausmani noship $ */
3
4 FUNCTION validate_attributes( p_cle_rec IN cle_rec_type)
5 RETURN VARCHAR2;
6
7 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKE_NO_PARENT_RECORD';
8 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKE_CONTRACTS_UNEXPECTED_ERROR';
9
10 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
11 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
12 G_VIEW CONSTANT VARCHAR2(200) := 'OKE_K_LINES_V';
13
14 G_EXCEPTION_HALT_VALIDATION exception;
15 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
16
17 -- validation code goes here
18
19 PROCEDURE validate_parent_line_id (
20 p_cle_rec IN cle_rec_type,
21 x_return_status OUT NOCOPY VARCHAR2
22 ) IS
23
24 CURSOR l_csr IS
25 SELECT 'x' FROM OKE_K_LINES_V
26 WHERE K_LINE_ID = p_cle_rec.PARENT_LINE_ID;
27
28 l_dummy_val VARCHAR2(1) := '?';
29
30 BEGIN
31
32 x_return_status := OKE_API.G_RET_STS_SUCCESS;
33
34 If (p_cle_rec.parent_line_id <> OKE_API.G_MISS_NUM and
35 p_cle_rec.parent_line_id IS NOT NULL)
36 THEN
37 Open l_csr;
38 Fetch l_csr Into l_dummy_val;
39 Close l_csr;
40
41 -- if l_dummy_val still set to default, data was not found
42 If (l_dummy_val = '?') Then
43
44 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
45 p_msg_name => g_no_parent_record,
46 p_token1 => g_col_name_token,
47 p_token1_value => 'parent_line_id',
48 p_token2 => g_child_table_token,
49 p_token2_value => G_VIEW,
50 p_token3 => g_parent_table_token,
51 p_token3_value => 'OKE_K_LINES_V');
52 -- notify caller of an error
53 x_return_status := OKE_API.G_RET_STS_ERROR;
54 End If;
55
56 End If;
57 exception
58 when OTHERS then
59 -- store SQL error message on message stack
60 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
61 p_msg_name => g_unexpected_error,
62 p_token1 => g_sqlcode_token,
63 p_token1_value => sqlcode,
64 p_token2 => g_sqlerrm_token,
65 p_token2_value => sqlerrm);
66 -- notify caller of an error as UNEXPETED error
67
68 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
69
70 -- verify that cursor was closed
71 if l_csr%ISOPEN then
72 close l_csr;
73 end if;
74
75 End validate_parent_line_id;
76
77
78
79 PROCEDURE validate_customer_item_id (
80 p_cle_rec IN cle_rec_type,
81 x_return_status OUT NOCOPY VARCHAR2
82 ) IS
83
84 CURSOR l_csr IS
85 select 'x'
86 from mtl_customer_items item
87 where item.customer_item_id = p_cle_rec.customer_item_id;
88
89 CURSOR get_intent IS
90 SELECT BUY_OR_SELL FROM
91 OKC_K_HEADERS_B H, OKC_K_LINES_B L
92 WHERE L.DNZ_CHR_ID = H.ID
93 AND L.ID = p_cle_rec.k_line_id;
94
95 l_intent VARCHAR2(30);
96 l_dummy_val VARCHAR2(1) := '?';
97
98 BEGIN
99
100 x_return_status := OKE_API.G_RET_STS_SUCCESS;
101
102 OPEN get_intent;
103 FETCH get_intent INTO l_intent;
104 CLOSE get_intent;
105
106
107
108 If (p_cle_rec.customer_item_id <> OKE_API.G_MISS_NUM and
109 p_cle_rec.customer_item_id IS NOT NULL)
110 THEN
111
112
113 IF l_intent = 'S' THEN
114 Open l_csr;
115 Fetch l_csr Into l_dummy_val;
116 Close l_csr;
117
118 -- if l_dummy_val still set to default, data was not found
119 If (l_dummy_val = '?') Then
120
121 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
122 p_msg_name => g_no_parent_record,
123 p_token1 => g_col_name_token,
124 p_token1_value => 'CUSTOMER_ITEM_ID',
125 p_token2 => g_child_table_token,
126 p_token2_value => G_VIEW,
127 p_token3 => g_parent_table_token,
128 p_token3_value => 'MTL_CUSTOMER_ITEMS');
129 -- notify caller of an error
130 x_return_status := OKE_API.G_RET_STS_ERROR;
131 End If;
132
133 ELSE
134 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
135 p_msg_name => g_invalid_value,
136 p_token1 => g_col_name_token,
137 p_token1_value => 'CUSTOMER_ITEM_ID');
138
139 -- notify caller of an error
140 x_return_status := OKE_API.G_RET_STS_ERROR;
141
142 END IF;
143
144 End If;
145 exception
146 when OTHERS then
147 -- store SQL error message on message stack
148 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
149 p_msg_name => g_unexpected_error,
150 p_token1 => g_sqlcode_token,
151 p_token1_value => sqlcode,
152 p_token2 => g_sqlerrm_token,
153 p_token2_value => sqlerrm);
154 -- notify caller of an error as UNEXPETED error
155
156 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
157
158 -- verify that cursor was closed
159 if l_csr%ISOPEN then
160 close l_csr;
161 end if;
162
163 End validate_customer_item_id;
164
165
166 PROCEDURE validate_delivery_date (
167 p_cle_rec IN cle_rec_type,
168 x_return_status OUT NOCOPY VARCHAR2
169 ) IS
170
171 CURSOR c_dates IS
172 select trunc(start_date)
173 from okc_k_lines_b
174 where id = p_cle_rec.k_line_id;
175
176
177 l_start DATE;
178
179 BEGIN
180
181 x_return_status := OKE_API.G_RET_STS_SUCCESS;
182
183 OPEN c_dates;
184 FETCH c_dates INTO l_start;
185 CLOSE c_dates;
186
187
188 IF (p_cle_rec.delivery_date <> OKE_API.G_MISS_DATE and
189 p_cle_rec.delivery_date IS NOT NULL)
190 THEN
191
192
193 IF (l_start IS NOT NULL AND l_start > p_cle_rec.delivery_date) THEN
194
195 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
196 p_msg_name => 'OKE_WRONG_DELIVERY_DATE');
197
198
199 -- notify caller of an error
200 x_return_status := OKE_API.G_RET_STS_ERROR;
201 END IF;
202
203
204 END IF;
205
206 exception
207 when OTHERS then
208 -- store SQL error message on message stack
209 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
210 p_msg_name => g_unexpected_error,
211 p_token1 => g_sqlcode_token,
212 p_token1_value => sqlcode,
213 p_token2 => g_sqlerrm_token,
214 p_token2_value => sqlerrm);
215 -- notify caller of an error as UNEXPETED error
216
217 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
218
219 End validate_delivery_date;
220
221
222
223
224
225 PROCEDURE validate_project_id (
226 p_cle_rec IN cle_rec_type,
227 x_return_status OUT NOCOPY VARCHAR2
228 ) IS
229
230 CURSOR l_csr IS
231 SELECT 'x' FROM PA_PROJECTS_ALL
232 WHERE PROJECT_ID = p_cle_rec.PROJECT_ID;
233
234 l_dummy_val VARCHAR2(1) := '?';
235 l_parent_line_id NUMBER;
236 l_header_id NUMBER;
237
238 CURSOR get_line_info IS
239 SELECT DNZ_CHR_ID, CLE_ID
240 FROM OKC_K_LINES_B
241 WHERE ID = p_cle_rec.K_LINE_ID;
242
243 CURSOR get_higher IS
244 SELECT KE.PROJECT_ID,KE.TASK_ID
245 FROM OKC_ANCESTRYS AN, OKE_K_LINES KE
246 WHERE AN.CLE_ID=L_PARENT_LINE_ID AND KE.PROJECT_ID IS NOT NULL
247 AND AN.CLE_ID_ASCENDANT = KE.K_LINE_ID
248 ORDER BY AN.LEVEL_SEQUENCE DESC;
249
250 CURSOR get_parent IS
251 SELECT PROJECT_ID, TASK_ID
252 FROM OKE_K_LINES
253 WHERE K_LINE_ID = L_PARENT_LINE_ID;
254
255
256 l_project_id_from NUMBER; /* the parent project */
257 l_task_id_from NUMBER; /* the parent task if any */
258
259
260
261 CURSOR RG IS
262 SELECT 'x' FROM
263 (
264 select p.project_id pid,p.segment1
265 from pa_projects_all p
266 where p.project_id in
267 (select to_number(sub_project_id) project_id
268 from pa_fin_structures_links_v
269 start with parent_project_id = l_project_id_from
270 and parent_task_id in (select task_id from pa_tasks where project_id=l_project_id_from
271 and top_task_id=nvl(l_task_id_from,top_task_id) )
272 connect by parent_project_id = prior sub_project_id)
273 union
274 select project_id pid,segment1
275 from pa_projects_all
276 where project_id = l_project_id_from)
277 WHERE pid = p_cle_rec.PROJECT_ID;
278
279
280 CURSOR RG3 IS
281 SELECT 'x' FROM
282 (
283 select project_id pid,segment1
284 from pa_projects_all
285 where project_id = l_project_id_from)
286 WHERE pid = p_cle_rec.PROJECT_ID;
287
288 cursor c_z(x_proj number, x_task number) is /* check is only needed if task is specified as well */
289 select 'x'
290 from pa_fin_structures_links_v
291 start with ((parent_project_id = x_proj ) and parent_task_id in
292 (select task_id from pa_tasks
293 where project_id = x_proj
294 and top_task_id = nvl(x_task, top_task_id)))
295 connect by parent_project_id = prior sub_project_id;
296
297 l_exist varchar2(10) := '%';
298
299
300 CURSOR get_header_proj IS
301 SELECT project_id
302 from oke_k_headers
303 where k_header_id = l_header_id;
304
305 BEGIN
306
307 x_return_status := OKE_API.G_RET_STS_SUCCESS;
308
309 /* get parent proj task first */
310
311 OPEN get_line_info;
312 FETCH get_line_info INTO l_header_id,l_parent_line_id;
313 CLOSE get_line_info;
314
315 OPEN get_parent;
316 FETCH get_parent INTO l_project_id_from,l_task_id_from;
317 CLOSE get_parent;
318
319 IF l_project_id_from IS NULL THEN
320 OPEN get_higher;
321 FETCH get_higher INTO l_project_id_from,l_task_id_from;
322 CLOSE get_higher;
323 END IF;
324
325 IF l_project_id_from IS NULL THEN
326 open get_header_proj;
327 fetch get_header_proj INTO l_project_id_from;
328 close get_header_proj;
329 l_task_id_from := null;
330 END IF;
331
332 /* start checks */
333
334
335 If (p_cle_rec.project_id <> OKE_API.G_MISS_NUM and
336 p_cle_rec.project_id IS NOT NULL)
337 THEN
338 If (p_cle_rec.task_id <> OKE_API.G_MISS_NUM and
339 p_cle_rec.task_id IS NOT NULL) Then
340 open c_z(l_project_id_from,l_task_id_from);
341 fetch c_z into l_exist;
342 close c_z;
343 if (l_exist = '%') then
344 Open RG3;
345 Fetch RG3 Into l_dummy_val;
346 Close RG3;
347 -- if l_dummy_val still set to default, data was not found
348 If (l_dummy_val = '?') Then
349
350 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
351 p_msg_name => g_no_parent_record,
352 p_token1 => g_col_name_token,
353 p_token1_value => 'project_id',
354 p_token2 => g_child_table_token,
355 p_token2_value => G_VIEW,
356 p_token3 => g_parent_table_token,
357 p_token3_value => 'PA_PROJECTS');
358 -- notify caller of an error
359 x_return_status := OKE_API.G_RET_STS_ERROR;
360 End If;
361 else
362 Open RG;
363 Fetch RG Into l_dummy_val;
364 Close RG;
365 -- if l_dummy_val still set to default, data was not found
366 If (l_dummy_val = '?') Then
367
368 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
369 p_msg_name => g_no_parent_record,
370 p_token1 => g_col_name_token,
371 p_token1_value => 'project_id',
372 p_token2 => g_child_table_token,
373 p_token2_value => G_VIEW,
374 p_token3 => g_parent_table_token,
375 p_token3_value => 'PA_PROJECTS');
376 -- notify caller of an error
377 x_return_status := OKE_API.G_RET_STS_ERROR;
378 End If;
379 end if;
380 Else
381 Open RG;
382 Fetch RG Into l_dummy_val;
383 Close RG;
384 -- if l_dummy_val still set to default, data was not found
385 If (l_dummy_val = '?') Then
386
387 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
388 p_msg_name => g_no_parent_record,
389 p_token1 => g_col_name_token,
390 p_token1_value => 'project_id',
391 p_token2 => g_child_table_token,
392 p_token2_value => G_VIEW,
393 p_token3 => g_parent_table_token,
394 p_token3_value => 'PA_PROJECTS');
395 -- notify caller of an error
396 x_return_status := OKE_API.G_RET_STS_ERROR;
397 End If;
398
399 End If;
400
401 End IF;
402
403 exception
404 when OTHERS then
405 -- store SQL error message on message stack
406 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
407 p_msg_name => g_unexpected_error,
408 p_token1 => g_sqlcode_token,
409 p_token1_value => sqlcode,
410 p_token2 => g_sqlerrm_token,
411 p_token2_value => sqlerrm);
412 -- notify caller of an error as UNEXPETED error
413
414 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
415
416 -- verify that cursor was closed
417 if l_csr%ISOPEN then
418 close l_csr;
419 end if;
420
421 End validate_project_id;
422
423 PROCEDURE validate_task_id (
424 p_cle_rec IN cle_rec_type,
425 x_return_status OUT NOCOPY VARCHAR2
426 ) IS
427
428 CURSOR l_csr IS
429 SELECT 'x' FROM PA_TASKS
430 WHERE TASK_ID = p_cle_rec.TASK_ID;
431
432 l_project_id NUMBER := p_cle_rec.project_id;
433 l_parent_line_id NUMBER;
434 l_header_id NUMBER;
435
436 CURSOR get_line_info IS
437 SELECT DNZ_CHR_ID, CLE_ID
438 FROM OKC_K_LINES_B
439 WHERE ID = p_cle_rec.K_LINE_ID;
440
441 CURSOR get_higher IS
442 SELECT KE.PROJECT_ID,KE.TASK_ID
443 FROM OKC_ANCESTRYS AN, OKE_K_LINES KE
444 WHERE AN.CLE_ID=L_PARENT_LINE_ID AND KE.PROJECT_ID IS NOT NULL
445 AND AN.CLE_ID_ASCENDANT = KE.K_LINE_ID
446 ORDER BY AN.LEVEL_SEQUENCE DESC;
447
448 CURSOR get_parent IS
449 SELECT PROJECT_ID, TASK_ID
450 FROM OKE_K_LINES
451 WHERE K_LINE_ID = L_PARENT_LINE_ID;
452
453
454
455 CURSOR get_header_proj IS
456 SELECT project_id
457 from oke_k_headers
458 where k_header_id = l_header_id;
459
460 l_project_id_from NUMBER; /* the parent project */
461 l_task_id_from NUMBER; /* the parent task if any */
462
463
464
465
466 CURSOR l_top_task IS
467 SELECT 'x' FROM (
468 select task_id, task_number,task_name,description from pa_tasks
469 where parent_task_id is null
470 and (( project_id <>l_project_id_from and project_id = l_project_id)
471 or
472 ( project_id = l_project_id_from and project_id = l_project_id
473 and task_id = nvl(l_task_id_from,task_id))) )
474 WHERE task_id = p_cle_rec.Task_ID;
475
476
477 l_dummy_val VARCHAR2(1) := '?';
478
479 BEGIN
480
481 x_return_status := OKE_API.G_RET_STS_SUCCESS;
482
483
484 /* get parent proj task first */
485
486 OPEN get_line_info;
487 FETCH get_line_info INTO l_header_id,l_parent_line_id;
488 CLOSE get_line_info;
489
490 OPEN get_parent;
491 FETCH get_parent INTO l_project_id_from,l_task_id_from;
492 CLOSE get_parent;
493
494 IF l_project_id_from IS NULL THEN
495 OPEN get_higher;
496 FETCH get_higher INTO l_project_id_from,l_task_id_from;
497 CLOSE get_higher;
498 END IF;
499
500 IF l_project_id_from IS NULL THEN
501 open get_header_proj;
502 fetch get_header_proj INTO l_project_id_from;
503 close get_header_proj;
504 l_task_id_from := null;
505 END IF;
506
507 /* start checks */
508
509
510 If (p_cle_rec.task_id <> OKE_API.G_MISS_NUM and
511 p_cle_rec.task_id IS NOT NULL)
512 THEN
513
514
515
516 If (p_cle_rec.project_id = OKE_API.G_MISS_NUM OR
517 p_cle_rec.project_id IS NULL) THEN
518
519 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
520 p_msg_name => g_invalid_value,
521 p_token1 => g_col_name_token,
522 p_token1_value => 'TASK_ID');
523 -- notify caller of an error
524 x_return_status := OKE_API.G_RET_STS_ERROR;
525
526 End IF;
527
528
529 Open l_top_task;
530 Fetch l_top_task Into l_dummy_val;
531 Close l_top_task;
532
533 -- if l_dummy_val still set to default, data was not found
534 If (l_dummy_val = '?') Then
535
536 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
537 p_msg_name => g_no_parent_record,
538 p_token1 => g_col_name_token,
539 p_token1_value => 'task_id',
540 p_token2 => g_child_table_token,
541 p_token2_value => G_VIEW,
542 p_token3 => g_parent_table_token,
543 p_token3_value => 'PA_TASKS');
544 -- notify caller of an error
545 x_return_status := OKE_API.G_RET_STS_ERROR;
546 End If;
547
548 End If;
549 exception
550 when OTHERS then
551 -- store SQL error message on message stack
552 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
553 p_msg_name => g_unexpected_error,
554 p_token1 => g_sqlcode_token,
555 p_token1_value => sqlcode,
556 p_token2 => g_sqlerrm_token,
557 p_token2_value => sqlerrm);
558 -- notify caller of an error as UNEXPETED error
559
560 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
561
562 -- verify that cursor was closed
563 if l_csr%ISOPEN then
564 close l_csr;
565 end if;
566
567 End validate_task_id;
568
569
570
571 PROCEDURE validate_inventory_item_id (
572 p_cle_rec IN cle_rec_type,
573 x_return_status OUT NOCOPY VARCHAR2
574 ) IS
575
576 l_dummy_val VARCHAR2(1) := '?';
577 l_org NUMBER;
578 l_lse_id NUMBER;
579
580 CURSOR get_org IS
581 SELECT INV_ORGANIZATION_ID FROM
582 OKC_K_HEADERS_B H,OKC_K_LINES_B L
583 WHERE H.ID = L.DNZ_CHR_ID
584 AND L.ID = p_cle_rec.k_line_id;
585
586 CURSOR get_lse_id IS
587 SELECT lse_id from okc_k_lines_b
588 WHERE ID = p_cle_rec.k_line_id;
589
590 CURSOR l_csr IS
591 SELECT 'x' FROM OKE_SYSTEM_ITEMS_V
592 WHERE ORGANIZATION_ID = l_org
593 AND SYSDATE BETWEEN NVL(START_DATE_ACTIVE, SYSDATE - 1)
594 AND NVL(END_DATE_ACTIVE, SYSDATE + 1) AND STATUS = 'A'
595 AND ID1 = p_cle_rec.inventory_item_id;
596
597
598 CURSOR lnsrc IS
599 SELECT jo.object_code
600 , jo.from_table
601 , jo.where_clause
602 , jo.order_by_clause
603 , jo.name
604 FROM okc_line_style_sources_v ls
605 , jtf_objects_vl jo
606 WHERE ls.lse_id = l_lse_id
607 AND jo.object_code = ls.jtot_object_code
608 AND sysdate BETWEEN start_date
609 AND nvl(end_date,sysdate + 1);
610
611 lnsrcrec lnsrc%rowtype;
612
613 BEGIN
614
615 x_return_status := OKE_API.G_RET_STS_SUCCESS;
616
617 OPEN get_org;
618 FETCH get_org INTO l_org;
619 CLOSE get_org;
620
621 OPEN get_lse_id;
622 FETCH get_lse_id INTO l_lse_id;
623 CLOSE get_lse_id;
624
625
626 If (p_cle_rec.inventory_item_id <> OKE_API.G_MISS_NUM and
627 p_cle_rec.inventory_item_id IS NOT NULL)
628 THEN
629
630 OPEN lnsrc;
631 FETCH lnsrc INTO lnsrcrec;
632 CLOSE lnsrc;
633
634 IF (lnsrcrec.Object_Code = 'OKE_ITEMS') THEN
635
636 Open l_csr;
637 Fetch l_csr Into l_dummy_val;
638 Close l_csr;
639
640 -- if l_dummy_val still set to default, data was not found
641 If (l_dummy_val = '?') Then
642
643 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
644 p_msg_name => g_no_parent_record,
645 p_token1 => g_col_name_token,
646 p_token1_value => 'INVENTORY_ITEM_ID',
647 p_token2 => g_child_table_token,
648 p_token2_value => G_VIEW,
649 p_token3 => g_parent_table_token,
650 p_token3_value => 'OKE_SYSTEM_ITEMS_V');
651 -- notify caller of an error
652 x_return_status := OKE_API.G_RET_STS_ERROR;
653 End If;
654
655 ELSE
656 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
657 p_msg_name => g_invalid_value,
658 p_token1 => g_col_name_token,
659 p_token1_value => 'INVENTORY_ITEM_ID');
660
661 -- notify caller of an error
662 x_return_status := OKE_API.G_RET_STS_ERROR;
663
664 END IF;
665 End If;
666 exception
667 when OTHERS then
668 -- store SQL error message on message stack
669 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
670 p_msg_name => g_unexpected_error,
671 p_token1 => g_sqlcode_token,
672 p_token1_value => sqlcode,
673 p_token2 => g_sqlerrm_token,
674 p_token2_value => sqlerrm);
675 -- notify caller of an error as UNEXPETED error
676
677 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
678
679 -- verify that cursor was closed
680 if l_csr%ISOPEN then
681 close l_csr;
682 end if;
683
684 End validate_inventory_item_id;
685
686
687 PROCEDURE validate_billing_method_code (
688 p_cle_rec IN cle_rec_type,
689 x_return_status OUT NOCOPY VARCHAR2
690 ) IS
691
692 CURSOR get_header IS
693 SELECT DNZ_CHR_ID
694 FROM OKC_K_LINES_B
695 WHERE ID = p_cle_rec.k_line_id;
696
697 l_header NUMBER;
698
699 CURSOR l_csr IS
700 SELECT 'x' FROM OKE_K_BILLING_METHODS
701 WHERE BILLING_METHOD_CODE = p_cle_rec.BILLING_METHOD_CODE
702 AND K_HEADER_ID = l_header;
703
704 l_dummy_val VARCHAR2(1) := '?';
705
706 BEGIN
707
708 x_return_status := OKE_API.G_RET_STS_SUCCESS;
709
710 OPEN get_header;
711 FETCH get_header INTO l_header;
712 CLOSE get_header;
713
714
715 If (p_cle_rec.billing_method_CODE <> OKE_API.G_MISS_CHAR and
716 p_cle_rec.billing_method_CODE IS NOT NULL)
717 THEN
718 Open l_csr;
719 Fetch l_csr Into l_dummy_val;
720 Close l_csr;
721
722 -- if l_dummy_val still set to default, data was not found
723 If (l_dummy_val = '?') Then
724
725 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
726 p_msg_name => g_no_parent_record,
727 p_token1 => g_col_name_token,
728 p_token1_value => 'billing_method_code',
729 p_token2 => g_child_table_token,
730 p_token2_value => G_VIEW,
731 p_token3 => g_parent_table_token,
732 p_token3_value => 'OKE_K_BILLING_METHODS');
733 -- notify caller of an error
734 x_return_status := OKE_API.G_RET_STS_ERROR;
735 End If;
736
737 End If;
738 exception
739 when OTHERS then
740 -- store SQL error message on message stack
741 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
742 p_msg_name => g_unexpected_error,
743 p_token1 => g_sqlcode_token,
744 p_token1_value => sqlcode,
745 p_token2 => g_sqlerrm_token,
746 p_token2_value => sqlerrm);
747 -- notify caller of an error as UNEXPETED error
748
749 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
750
751 -- verify that cursor was closed
752 if l_csr%ISOPEN then
753 close l_csr;
754 end if;
755
756 End validate_billing_method_code;
757
758
759
760 PROCEDURE validate_uom_code (
761 p_cle_rec IN cle_rec_type,
762 x_return_status OUT NOCOPY VARCHAR2
763 ) IS
764
765 CURSOR l_csr1 IS
766 SELECT 'x' FROM
767 mtl_item_uoms_view
768 where inventory_item_id = p_cle_rec.inventory_item_id
769 and uom_code = p_cle_rec.uom_code;
770
771
772 CURSOR l_csr2 IS
773 SELECT 'x' FROM
774 mtl_units_of_measure_vl
775 where uom_code = p_cle_rec.uom_code;
776
777
778 l_dummy_val VARCHAR2(1) := '?';
779
780 BEGIN
781
782 x_return_status := OKE_API.G_RET_STS_SUCCESS;
783
784 If (p_cle_rec.UOM_CODE <> OKE_API.G_MISS_CHAR and
785 p_cle_rec.UOM_CODE IS NOT NULL)
786 THEN
787
788 IF (p_cle_rec.inventory_item_id <> OKE_API.G_MISS_NUM and
789 p_cle_rec.inventory_item_id IS NOT NULL) THEN
790
791 Open l_csr1;
792 Fetch l_csr1 Into l_dummy_val;
793 Close l_csr1;
794 ELSE
795 Open l_csr2;
796 Fetch l_csr2 Into l_dummy_val;
797 Close l_csr2;
798 END IF;
799
800 -- if l_dummy_val still set to default, data was not found
801 If (l_dummy_val = '?') Then
802
803
804 IF (p_cle_rec.inventory_item_id <> OKE_API.G_MISS_NUM and
805 p_cle_rec.inventory_item_id IS NOT NULL) THEN
806
807 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
808 p_msg_name => g_no_parent_record,
809 p_token1 => g_col_name_token,
810 p_token1_value => 'UOM_CODE',
811 p_token2 => g_child_table_token,
812 p_token2_value => G_VIEW,
813 p_token3 => g_parent_table_token,
814 p_token3_value => 'MTL_ITEM_UOMS_VIEW');
815 -- notify caller of an error
816 x_return_status := OKE_API.G_RET_STS_ERROR;
817 ELSE
818 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
819 p_msg_name => g_no_parent_record,
820 p_token1 => g_col_name_token,
821 p_token1_value => 'UOM_CODE',
822 p_token2 => g_child_table_token,
823 p_token2_value => G_VIEW,
824 p_token3 => g_parent_table_token,
825 p_token3_value => 'MTL_UNITS_OF_MEASURE_VL');
826 -- notify caller of an error
827 x_return_status := OKE_API.G_RET_STS_ERROR;
828 END IF;
829 End If;
830
831 End If;
832 exception
833 when OTHERS then
834 -- store SQL error message on message stack
835 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
836 p_msg_name => g_unexpected_error,
837 p_token1 => g_sqlcode_token,
838 p_token1_value => sqlcode,
839 p_token2 => g_sqlerrm_token,
840 p_token2_value => sqlerrm);
841 -- notify caller of an error as UNEXPETED error
842
843 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
844
845 -- verify that cursor was closed
846 if l_csr1%ISOPEN then
847 close l_csr1;
848 end if;
849 if l_csr2%ISOPEN then
850 close l_csr2;
851 end if;
852
853 End validate_uom_code;
854
855
856 PROCEDURE validate_priority_code(x_return_status OUT NOCOPY VARCHAR2,
857 p_cle_rec IN cle_rec_type)IS
858 l_dummy_val VARCHAR2(1):= '?';
859 CURSOR l_csr IS
860 SELECT 'x' FROM OKE_PRIORITY_CODES_VL
861 WHERE PRIORITY_CODE = p_cle_rec.priority_code;
862
863 BEGIN
864 x_return_status := OKE_API.G_RET_STS_SUCCESS;
865
866
867 IF ( p_cle_rec.priority_code <> OKE_API.G_MISS_CHAR
868 AND p_cle_rec.priority_code IS NOT NULL) THEN
869
870 OPEN l_csr;
871 FETCH l_csr INTO l_dummy_val;
872 CLOSE l_csr;
873
874 IF (l_dummy_val = '?') THEN
875 OKE_API.SET_MESSAGE(
876 p_app_name =>g_app_name,
877 p_msg_name =>g_no_parent_record,
878 p_token1 =>g_col_name_token,
879 p_token1_value =>'PRIORITY_CODE',
880 p_token2 =>g_child_table_token,
881 p_token2_value =>G_VIEW,
882 p_token3 =>g_parent_table_token,
883 p_token3_value =>'OKE_PRIORITY_CODES_VL');
884
885 x_return_status := OKE_API.G_RET_STS_ERROR;
886 END IF;
887 End If;
888
889 EXCEPTION
890 WHEN G_EXCEPTION_HALT_VALIDATION THEN
891 NULL;
892
893 WHEN OTHERS THEN
894 -- store SQL error message on message stack
895 OKE_API.SET_MESSAGE(
896 p_app_name =>g_app_name,
897 p_msg_name =>G_UNEXPECTED_ERROR,
898 p_token1 =>G_SQLCODE_TOKEN,
899 p_token1_value =>SQLCODE,
900 p_token2 =>G_SQLERRM_TOKEN,
901 p_token2_value =>SQLERRM);
902 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
903
904 END validate_priority_code;
905
906
907
908 PROCEDURE validate_country_code(x_return_status OUT NOCOPY VARCHAR2,
909 p_cle_rec IN cle_rec_type)IS
910 l_dummy_val VARCHAR2(1):= '?';
911
912
913 CURSOR l_csr IS
914 SELECT 'x'
915 FROM FND_TERRITORIES_VL
916 WHERE TERRITORY_CODE = p_cle_rec.COUNTRY_OF_ORIGIN_CODE;
917
918 BEGIN
919 x_return_status := OKE_API.G_RET_STS_SUCCESS;
920
921
922 IF ( p_cle_rec.country_of_origin_code <> OKE_API.G_MISS_CHAR
923 AND p_cle_rec.country_of_origin_code IS NOT NULL) THEN
924
925 OPEN l_csr;
926 FETCH l_csr INTO l_dummy_val;
927 CLOSE l_csr;
928
929 IF (l_dummy_val = '?') THEN
930 OKE_API.SET_MESSAGE(
931 p_app_name =>g_app_name,
932 p_msg_name =>g_no_parent_record,
933 p_token1 =>g_col_name_token,
934 p_token1_value =>'COUNTRY_OF_ORIGIN_CODE',
935 p_token2 =>g_child_table_token,
936 p_token2_value =>G_VIEW,
937 p_token3 =>g_parent_table_token,
938 p_token3_value =>'FND_TERRITORIES_VL');
939
940 x_return_status := OKE_API.G_RET_STS_ERROR;
941 END IF;
942 End If;
943
944 EXCEPTION
945 WHEN G_EXCEPTION_HALT_VALIDATION THEN
946 NULL;
947
948 WHEN OTHERS THEN
949 -- store SQL error message on message stack
950 OKE_API.SET_MESSAGE(
951 p_app_name =>g_app_name,
952 p_msg_name =>G_UNEXPECTED_ERROR,
953 p_token1 =>G_SQLCODE_TOKEN,
954 p_token1_value =>SQLCODE,
955 p_token2 =>G_SQLERRM_TOKEN,
956 p_token2_value =>SQLERRM);
957 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
958
959 END validate_country_code;
960
961
962
963
964
965
966 PROCEDURE validate_progress_payment_rate(x_return_status OUT NOCOPY VARCHAR2,
967 p_cle_rec IN cle_rec_type)IS
968
969 BEGIN
970 x_return_status := OKE_API.G_RET_STS_SUCCESS;
971
972 IF ( p_cle_rec.PROGRESS_PAYMENT_FLAG <> OKE_API.G_MISS_CHAR
973 AND p_cle_rec.PROGRESS_PAYMENT_FLAG IS NOT NULL) THEN
974 IF (UPPER(p_cle_rec.PROGRESS_PAYMENT_FLAG) IN ('Y')) THEN
975 IF ( p_cle_rec.PROGRESS_PAYMENT_RATE = OKE_API.G_MISS_NUM
976 OR p_cle_rec.PROGRESS_PAYMENT_RATE IS NULL) THEN
977 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
978 p_msg_name =>G_REQUIRED_VALUE,
979 p_token1 =>G_COL_NAME_TOKEN,
980 p_token1_value =>'PROGRESS_PAYMENT_RATE');
981 x_return_status := OKE_API.G_RET_STS_ERROR;
982 RAISE G_EXCEPTION_HALT_VALIDATION;
983 END IF;
984 END IF;
985
986 IF (UPPER(p_cle_rec.PROGRESS_PAYMENT_FLAG) IN ('N')) THEN
987 IF ( p_cle_rec.PROGRESS_PAYMENT_RATE <> OKE_API.G_MISS_NUM
988 AND p_cle_rec.PROGRESS_PAYMENT_RATE IS NOT NULL) THEN
989 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
990 p_msg_name =>G_INVALID_VALUE,
991 p_token1 =>G_COL_NAME_TOKEN,
992 p_token1_value =>'PROGRESS_PAYMENT_RATE');
993 x_return_status := OKE_API.G_RET_STS_ERROR;
994 RAISE G_EXCEPTION_HALT_VALIDATION;
995 END IF;
996 END IF;
997
998
999 END IF;
1000
1001 EXCEPTION
1002 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1003 NULL;
1004
1005 WHEN OTHERS THEN
1006 -- store SQL error message on message stack
1007 OKE_API.SET_MESSAGE(
1008 p_app_name =>g_app_name,
1009 p_msg_name =>G_UNEXPECTED_ERROR,
1010 p_token1 =>G_SQLCODE_TOKEN,
1011 p_token1_value =>SQLCODE,
1012 p_token2 =>G_SQLERRM_TOKEN,
1013 p_token2_value =>SQLERRM);
1014 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1015
1016 END validate_progress_payment_rate;
1017
1018
1019
1020 PROCEDURE validate_progress_payment_liq(x_return_status OUT NOCOPY VARCHAR2,
1021 p_cle_rec IN cle_rec_type)IS
1022
1023 BEGIN
1024 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1025
1026 IF ( p_cle_rec.PROGRESS_PAYMENT_FLAG <> OKE_API.G_MISS_CHAR
1027 AND p_cle_rec.PROGRESS_PAYMENT_FLAG IS NOT NULL) THEN
1028 IF (UPPER(p_cle_rec.PROGRESS_PAYMENT_FLAG) IN ('Y')) THEN
1029 IF ( p_cle_rec.PROGRESS_PAYMENT_LIQ_RATE = OKE_API.G_MISS_NUM
1030 OR p_cle_rec.PROGRESS_PAYMENT_LIQ_RATE IS NULL) THEN
1031 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1032 p_msg_name =>G_REQUIRED_VALUE,
1033 p_token1 =>G_COL_NAME_TOKEN,
1034 p_token1_value =>'PROGRESS_PAYMENT_LIQ_RATE');
1035 x_return_status := OKE_API.G_RET_STS_ERROR;
1036 RAISE G_EXCEPTION_HALT_VALIDATION;
1037 END IF;
1038 END IF;
1039
1040 IF (UPPER(p_cle_rec.PROGRESS_PAYMENT_FLAG) IN ('N')) THEN
1041 IF ( p_cle_rec.PROGRESS_PAYMENT_LIQ_RATE <> OKE_API.G_MISS_NUM
1042 AND p_cle_rec.PROGRESS_PAYMENT_LIQ_RATE IS NOT NULL) THEN
1043 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1044 p_msg_name =>G_INVALID_VALUE,
1045 p_token1 =>G_COL_NAME_TOKEN,
1046 p_token1_value =>'PROGRESS_PAYMENT_LIQ_RATE');
1047 x_return_status := OKE_API.G_RET_STS_ERROR;
1048 RAISE G_EXCEPTION_HALT_VALIDATION;
1049 END IF;
1050 END IF;
1051
1052
1053 END IF;
1054
1055 EXCEPTION
1056 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1057 NULL;
1058
1059 WHEN OTHERS THEN
1060 -- store SQL error message on message stack
1061 OKE_API.SET_MESSAGE(
1062 p_app_name =>g_app_name,
1063 p_msg_name =>G_UNEXPECTED_ERROR,
1064 p_token1 =>G_SQLCODE_TOKEN,
1065 p_token1_value =>SQLCODE,
1066 p_token2 =>G_SQLERRM_TOKEN,
1067 p_token2_value =>SQLERRM);
1068 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1069
1070 END validate_progress_payment_liq;
1071
1072 PROCEDURE validate_line_liquidation_rate(x_return_status OUT NOCOPY VARCHAR2,
1073 p_cle_rec IN cle_rec_type)IS
1074
1075 BEGIN
1076 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1077
1078 IF ( p_cle_rec.PROGRESS_PAYMENT_FLAG <> OKE_API.G_MISS_CHAR
1079 AND p_cle_rec.PROGRESS_PAYMENT_FLAG IS NOT NULL) THEN
1080 IF (UPPER(p_cle_rec.PROGRESS_PAYMENT_FLAG) IN ('N')) THEN
1081 IF ( p_cle_rec.LINE_LIQUIDATION_RATE <> OKE_API.G_MISS_NUM
1082 AND p_cle_rec.LINE_LIQUIDATION_RATE IS NOT NULL) THEN
1083 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1084 p_msg_name =>G_INVALID_VALUE,
1085 p_token1 =>G_COL_NAME_TOKEN,
1086 p_token1_value =>'LINE_LIQUIDATION_RATE');
1087 x_return_status := OKE_API.G_RET_STS_ERROR;
1088 RAISE G_EXCEPTION_HALT_VALIDATION;
1089 END IF;
1090 END IF;
1091
1092
1093 END IF;
1094
1095 EXCEPTION
1096 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1097 NULL;
1098
1099 WHEN OTHERS THEN
1100 -- store SQL error message on message stack
1101 OKE_API.SET_MESSAGE(
1102 p_app_name =>g_app_name,
1103 p_msg_name =>G_UNEXPECTED_ERROR,
1104 p_token1 =>G_SQLCODE_TOKEN,
1105 p_token1_value =>SQLCODE,
1106 p_token2 =>G_SQLERRM_TOKEN,
1107 p_token2_value =>SQLERRM);
1108 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1109
1110 END validate_line_liquidation_rate;
1111
1112
1113
1114
1115 PROCEDURE validate_BILLABLE_flag(x_return_status OUT NOCOPY VARCHAR2,
1116 p_cle_rec IN cle_rec_type)IS
1117
1118 BEGIN
1119 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1120
1121 IF ( p_cle_rec.BILLABLE_flag <> OKE_API.G_MISS_CHAR
1122 AND p_cle_rec.BILLABLE_flag IS NOT NULL) THEN
1123 IF (UPPER(p_cle_rec.BILLABLE_flag) NOT IN ('Y','N')) THEN
1124 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1125 p_msg_name =>G_REQUIRED_VALUE,
1126 p_token1 =>G_COL_NAME_TOKEN,
1127 p_token1_value =>'BILLABLE_FLAG');
1128 x_return_status := OKE_API.G_RET_STS_ERROR;
1129 RAISE G_EXCEPTION_HALT_VALIDATION;
1130 END IF;
1131
1132 END IF;
1133
1134 EXCEPTION
1135 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1136 NULL;
1137
1138 WHEN OTHERS THEN
1139 -- store SQL error message on message stack
1140 OKE_API.SET_MESSAGE(
1141 p_app_name =>g_app_name,
1142 p_msg_name =>G_UNEXPECTED_ERROR,
1143 p_token1 =>G_SQLCODE_TOKEN,
1144 p_token1_value =>SQLCODE,
1145 p_token2 =>G_SQLERRM_TOKEN,
1146 p_token2_value =>SQLERRM);
1147 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1148
1149 END validate_BILLABLE_flag;
1150
1151
1152
1153
1154 PROCEDURE validate_SHIPPABLE_flag(x_return_status OUT NOCOPY VARCHAR2,
1155 p_cle_rec IN cle_rec_type)IS
1156
1157 BEGIN
1158 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1159
1160 IF ( p_cle_rec.SHIPPABLE_flag <> OKE_API.G_MISS_CHAR
1161 AND p_cle_rec.SHIPPABLE_flag IS NOT NULL) THEN
1162 IF (UPPER(p_cle_rec.SHIPPABLE_flag) NOT IN ('Y','N')) THEN
1163 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1164 p_msg_name =>G_REQUIRED_VALUE,
1165 p_token1 =>G_COL_NAME_TOKEN,
1166 p_token1_value =>'SHIPPABLE_FLAG');
1167 x_return_status := OKE_API.G_RET_STS_ERROR;
1168 RAISE G_EXCEPTION_HALT_VALIDATION;
1169 END IF;
1170
1171 END IF;
1172
1173 EXCEPTION
1174 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1175 NULL;
1176
1177 WHEN OTHERS THEN
1178 -- store SQL error message on message stack
1179 OKE_API.SET_MESSAGE(
1180 p_app_name =>g_app_name,
1181 p_msg_name =>G_UNEXPECTED_ERROR,
1182 p_token1 =>G_SQLCODE_TOKEN,
1183 p_token1_value =>SQLCODE,
1184 p_token2 =>G_SQLERRM_TOKEN,
1185 p_token2_value =>SQLERRM);
1186 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1187
1188 END validate_SHIPPABLE_flag;
1189
1190
1191
1192 PROCEDURE validate_SUBCONTRACTED_flag(x_return_status OUT NOCOPY VARCHAR2,
1193 p_cle_rec IN cle_rec_type)IS
1194
1195 BEGIN
1196 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1197
1198 IF ( p_cle_rec.SUBCONTRACTED_flag <> OKE_API.G_MISS_CHAR
1199 AND p_cle_rec.SUBCONTRACTED_flag IS NOT NULL) THEN
1200 IF (UPPER(p_cle_rec.SUBCONTRACTED_flag) NOT IN ('Y','N')) THEN
1201 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1202 p_msg_name =>G_REQUIRED_VALUE,
1203 p_token1 =>G_COL_NAME_TOKEN,
1204 p_token1_value =>'SUBCONTRACTED_FLAG');
1205 x_return_status := OKE_API.G_RET_STS_ERROR;
1206 RAISE G_EXCEPTION_HALT_VALIDATION;
1207 END IF;
1208
1209 END IF;
1210
1211 EXCEPTION
1212 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1213 NULL;
1214
1215 WHEN OTHERS THEN
1216 -- store SQL error message on message stack
1217 OKE_API.SET_MESSAGE(
1218 p_app_name =>g_app_name,
1219 p_msg_name =>G_UNEXPECTED_ERROR,
1220 p_token1 =>G_SQLCODE_TOKEN,
1221 p_token1_value =>SQLCODE,
1222 p_token2 =>G_SQLERRM_TOKEN,
1223 p_token2_value =>SQLERRM);
1224 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1225
1226 END validate_SUBCONTRACTED_flag;
1227
1228
1229
1230
1231 PROCEDURE validate_DELIVERY_ORDER_flag(x_return_status OUT NOCOPY VARCHAR2,
1232 p_cle_rec IN cle_rec_type)IS
1233
1234 BEGIN
1235 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1236
1237 IF ( p_cle_rec.DELIVERY_ORDER_flag <> OKE_API.G_MISS_CHAR
1238 AND p_cle_rec.DELIVERY_ORDER_flag IS NOT NULL) THEN
1239 IF (UPPER(p_cle_rec.DELIVERY_ORDER_flag) NOT IN ('Y','N')) THEN
1240 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1241 p_msg_name =>G_REQUIRED_VALUE,
1242 p_token1 =>G_COL_NAME_TOKEN,
1243 p_token1_value =>'DELIVERY_ORDER_FLAG');
1244 x_return_status := OKE_API.G_RET_STS_ERROR;
1245 RAISE G_EXCEPTION_HALT_VALIDATION;
1246 END IF;
1247
1248 END IF;
1249
1250 EXCEPTION
1251 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1252 NULL;
1253
1254 WHEN OTHERS THEN
1255 -- store SQL error message on message stack
1256 OKE_API.SET_MESSAGE(
1257 p_app_name =>g_app_name,
1258 p_msg_name =>G_UNEXPECTED_ERROR,
1259 p_token1 =>G_SQLCODE_TOKEN,
1260 p_token1_value =>SQLCODE,
1261 p_token2 =>G_SQLERRM_TOKEN,
1262 p_token2_value =>SQLERRM);
1263 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1264
1265 END validate_DELIVERY_ORDER_flag;
1266
1267
1268
1269 PROCEDURE validate_SPLITED_flag(x_return_status OUT NOCOPY VARCHAR2,
1270 p_cle_rec IN cle_rec_type)IS
1271
1272 BEGIN
1273 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1274
1275 IF ( p_cle_rec.SPLITED_flag <> OKE_API.G_MISS_CHAR
1276 AND p_cle_rec.SPLITED_flag IS NOT NULL) THEN
1277 IF (UPPER(p_cle_rec.SPLITED_flag) NOT IN ('Y','N')) THEN
1278 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1279 p_msg_name =>G_REQUIRED_VALUE,
1280 p_token1 =>G_COL_NAME_TOKEN,
1281 p_token1_value =>'SPLITED_FLAG');
1282 x_return_status := OKE_API.G_RET_STS_ERROR;
1283 RAISE G_EXCEPTION_HALT_VALIDATION;
1284 END IF;
1285
1286 END IF;
1287
1288 EXCEPTION
1289 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1290 NULL;
1291
1292 WHEN OTHERS THEN
1293 -- store SQL error message on message stack
1294 OKE_API.SET_MESSAGE(
1295 p_app_name =>g_app_name,
1296 p_msg_name =>G_UNEXPECTED_ERROR,
1297 p_token1 =>G_SQLCODE_TOKEN,
1298 p_token1_value =>SQLCODE,
1299 p_token2 =>G_SQLERRM_TOKEN,
1300 p_token2_value =>SQLERRM);
1301 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1302
1303 END validate_SPLITED_flag;
1304
1305
1306
1307
1308 PROCEDURE validate_COMPLETED_flag(x_return_status OUT NOCOPY VARCHAR2,
1309 p_cle_rec IN cle_rec_type)IS
1310
1311 BEGIN
1312 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1313
1314 IF ( p_cle_rec.COMPLETED_flag <> OKE_API.G_MISS_CHAR
1315 AND p_cle_rec.COMPLETED_flag IS NOT NULL) THEN
1316 IF (UPPER(p_cle_rec.COMPLETED_flag) NOT IN ('Y','N')) THEN
1317 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1318 p_msg_name =>G_REQUIRED_VALUE,
1319 p_token1 =>G_COL_NAME_TOKEN,
1320 p_token1_value =>'COMPLETED_FLAG');
1321 x_return_status := OKE_API.G_RET_STS_ERROR;
1322 RAISE G_EXCEPTION_HALT_VALIDATION;
1323 END IF;
1324
1325 END IF;
1326
1327 EXCEPTION
1328 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1329 NULL;
1330
1331 WHEN OTHERS THEN
1332 -- store SQL error message on message stack
1333 OKE_API.SET_MESSAGE(
1334 p_app_name =>g_app_name,
1335 p_msg_name =>G_UNEXPECTED_ERROR,
1336 p_token1 =>G_SQLCODE_TOKEN,
1337 p_token1_value =>SQLCODE,
1338 p_token2 =>G_SQLERRM_TOKEN,
1339 p_token2_value =>SQLERRM);
1340 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1341
1342 END validate_COMPLETED_flag;
1343
1344
1345
1346 PROCEDURE validate_NSP_flag(x_return_status OUT NOCOPY VARCHAR2,
1347 p_cle_rec IN cle_rec_type)IS
1348
1349 BEGIN
1350 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1351
1352 IF ( p_cle_rec.NSP_flag <> OKE_API.G_MISS_CHAR
1353 AND p_cle_rec.NSP_flag IS NOT NULL) THEN
1354 IF (UPPER(p_cle_rec.NSP_flag) NOT IN ('Y','N')) THEN
1355 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1356 p_msg_name =>G_REQUIRED_VALUE,
1357 p_token1 =>G_COL_NAME_TOKEN,
1358 p_token1_value =>'NSP_FLAG');
1359 x_return_status := OKE_API.G_RET_STS_ERROR;
1360 RAISE G_EXCEPTION_HALT_VALIDATION;
1361 END IF;
1362
1363 END IF;
1364
1365 EXCEPTION
1366 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1367 NULL;
1368
1369 WHEN OTHERS THEN
1370 -- store SQL error message on message stack
1371 OKE_API.SET_MESSAGE(
1372 p_app_name =>g_app_name,
1373 p_msg_name =>G_UNEXPECTED_ERROR,
1374 p_token1 =>G_SQLCODE_TOKEN,
1375 p_token1_value =>SQLCODE,
1376 p_token2 =>G_SQLERRM_TOKEN,
1377 p_token2_value =>SQLERRM);
1378 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1379
1380 END validate_NSP_flag;
1381
1382
1383
1384
1385 PROCEDURE validate_DROP_SHIPPED_flag(x_return_status OUT NOCOPY VARCHAR2,
1386 p_cle_rec IN cle_rec_type)IS
1387
1388 BEGIN
1389 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1390
1391 IF ( p_cle_rec.DROP_SHIPPED_flag <> OKE_API.G_MISS_CHAR
1392 AND p_cle_rec.DROP_SHIPPED_flag IS NOT NULL) THEN
1393 IF (UPPER(p_cle_rec.DROP_SHIPPED_flag) NOT IN ('Y','N')) THEN
1394 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1395 p_msg_name =>G_REQUIRED_VALUE,
1396 p_token1 =>G_COL_NAME_TOKEN,
1397 p_token1_value =>'DROP_SHIPPED_FLAG');
1398 x_return_status := OKE_API.G_RET_STS_ERROR;
1399 RAISE G_EXCEPTION_HALT_VALIDATION;
1400 END IF;
1401
1402 END IF;
1403
1404 EXCEPTION
1405 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1406 NULL;
1407
1408 WHEN OTHERS THEN
1409 -- store SQL error message on message stack
1410 OKE_API.SET_MESSAGE(
1411 p_app_name =>g_app_name,
1412 p_msg_name =>G_UNEXPECTED_ERROR,
1413 p_token1 =>G_SQLCODE_TOKEN,
1414 p_token1_value =>SQLCODE,
1415 p_token2 =>G_SQLERRM_TOKEN,
1416 p_token2_value =>SQLERRM);
1417 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1418
1419 END validate_DROP_SHIPPED_flag;
1420
1421
1422
1423 PROCEDURE validate_CUSTOMER_APPROVAL_REQ(x_return_status OUT NOCOPY VARCHAR2,
1424 p_cle_rec IN cle_rec_type)IS
1425
1426 BEGIN
1427 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1428
1429 IF ( p_cle_rec.CUSTOMER_APPROVAL_REQ_flag <> OKE_API.G_MISS_CHAR
1430 AND p_cle_rec.CUSTOMER_APPROVAL_REQ_flag IS NOT NULL) THEN
1431 IF (UPPER(p_cle_rec.CUSTOMER_APPROVAL_REQ_flag) NOT IN ('Y','N')) THEN
1432 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1433 p_msg_name =>G_REQUIRED_VALUE,
1434 p_token1 =>G_COL_NAME_TOKEN,
1435 p_token1_value =>'CUSTOMER_APPROVAL_REQ_FLAG');
1436 x_return_status := OKE_API.G_RET_STS_ERROR;
1437 RAISE G_EXCEPTION_HALT_VALIDATION;
1438 END IF;
1439
1440 END IF;
1441
1442 EXCEPTION
1443 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1444 NULL;
1445
1446 WHEN OTHERS THEN
1447 -- store SQL error message on message stack
1448 OKE_API.SET_MESSAGE(
1449 p_app_name =>g_app_name,
1450 p_msg_name =>G_UNEXPECTED_ERROR,
1451 p_token1 =>G_SQLCODE_TOKEN,
1452 p_token1_value =>SQLCODE,
1453 p_token2 =>G_SQLERRM_TOKEN,
1454 p_token2_value =>SQLERRM);
1455 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1456
1457 END validate_CUSTOMER_APPROVAL_REQ;
1458
1459
1460
1461
1462 PROCEDURE validate_INSPECTION_REQ_flag(x_return_status OUT NOCOPY VARCHAR2,
1463 p_cle_rec IN cle_rec_type)IS
1464
1465 BEGIN
1466 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1467
1468 IF ( p_cle_rec.INSPECTION_REQ_flag <> OKE_API.G_MISS_CHAR
1469 AND p_cle_rec.INSPECTION_REQ_flag IS NOT NULL) THEN
1470 IF (UPPER(p_cle_rec.INSPECTION_REQ_flag) NOT IN ('Y','N')) THEN
1471 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1472 p_msg_name =>G_REQUIRED_VALUE,
1473 p_token1 =>G_COL_NAME_TOKEN,
1474 p_token1_value =>'INSPECTION_REQ_FLAG');
1475 x_return_status := OKE_API.G_RET_STS_ERROR;
1476 RAISE G_EXCEPTION_HALT_VALIDATION;
1477 END IF;
1478
1479 END IF;
1480
1481 EXCEPTION
1482 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1483 NULL;
1484
1485 WHEN OTHERS THEN
1486 -- store SQL error message on message stack
1487 OKE_API.SET_MESSAGE(
1488 p_app_name =>g_app_name,
1489 p_msg_name =>G_UNEXPECTED_ERROR,
1490 p_token1 =>G_SQLCODE_TOKEN,
1491 p_token1_value =>SQLCODE,
1492 p_token2 =>G_SQLERRM_TOKEN,
1493 p_token2_value =>SQLERRM);
1494 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1495
1496 END validate_INSPECTION_REQ_flag;
1497
1498
1499
1500 PROCEDURE validate_INTERIM_RPT_REQ_flag(x_return_status OUT NOCOPY VARCHAR2,
1501 p_cle_rec IN cle_rec_type)IS
1502
1503 BEGIN
1504 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1505
1506 IF ( p_cle_rec.INTERIM_RPT_REQ_flag <> OKE_API.G_MISS_CHAR
1507 AND p_cle_rec.INTERIM_RPT_REQ_flag IS NOT NULL) THEN
1508 IF (UPPER(p_cle_rec.INTERIM_RPT_REQ_flag) NOT IN ('Y','N')) THEN
1509 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1510 p_msg_name =>G_REQUIRED_VALUE,
1511 p_token1 =>G_COL_NAME_TOKEN,
1512 p_token1_value =>'INTERIM_RPT_REQ_FLAG');
1513 x_return_status := OKE_API.G_RET_STS_ERROR;
1514 RAISE G_EXCEPTION_HALT_VALIDATION;
1515 END IF;
1516
1517 END IF;
1518
1519 EXCEPTION
1520 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1521 NULL;
1522
1523 WHEN OTHERS THEN
1524 -- store SQL error message on message stack
1525 OKE_API.SET_MESSAGE(
1526 p_app_name =>g_app_name,
1527 p_msg_name =>G_UNEXPECTED_ERROR,
1528 p_token1 =>G_SQLCODE_TOKEN,
1529 p_token1_value =>SQLCODE,
1530 p_token2 =>G_SQLERRM_TOKEN,
1531 p_token2_value =>SQLERRM);
1532 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1533
1534 END validate_INTERIM_RPT_REQ_flag;
1535
1536
1537
1538
1539 PROCEDURE validate_SUBJ_A133_flag(x_return_status OUT NOCOPY VARCHAR2,
1540 p_cle_rec IN cle_rec_type)IS
1541
1542 BEGIN
1543 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1544
1545 IF ( p_cle_rec.SUBJ_A133_flag <> OKE_API.G_MISS_CHAR
1546 AND p_cle_rec.SUBJ_A133_flag IS NOT NULL) THEN
1547 IF (UPPER(p_cle_rec.SUBJ_A133_flag) NOT IN ('Y','N')) THEN
1548 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1549 p_msg_name =>G_REQUIRED_VALUE,
1550 p_token1 =>G_COL_NAME_TOKEN,
1551 p_token1_value =>'SUBJ_A133_FLAG');
1552 x_return_status := OKE_API.G_RET_STS_ERROR;
1553 RAISE G_EXCEPTION_HALT_VALIDATION;
1554 END IF;
1555
1556 END IF;
1557
1558 EXCEPTION
1559 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1560 NULL;
1561
1562 WHEN OTHERS THEN
1563 -- store SQL error message on message stack
1564 OKE_API.SET_MESSAGE(
1565 p_app_name =>g_app_name,
1566 p_msg_name =>G_UNEXPECTED_ERROR,
1567 p_token1 =>G_SQLCODE_TOKEN,
1568 p_token1_value =>SQLCODE,
1569 p_token2 =>G_SQLERRM_TOKEN,
1570 p_token2_value =>SQLERRM);
1571 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1572
1573 END validate_SUBJ_A133_flag;
1574
1575
1576
1577 PROCEDURE validate_EXPORT_flag(x_return_status OUT NOCOPY VARCHAR2,
1578 p_cle_rec IN cle_rec_type)IS
1579
1580 BEGIN
1581 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1582
1583 IF ( p_cle_rec.EXPORT_flag <> OKE_API.G_MISS_CHAR
1584 AND p_cle_rec.EXPORT_flag IS NOT NULL) THEN
1585 IF (UPPER(p_cle_rec.EXPORT_flag) NOT IN ('Y','N')) THEN
1586 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1587 p_msg_name =>G_REQUIRED_VALUE,
1588 p_token1 =>G_COL_NAME_TOKEN,
1589 p_token1_value =>'EXPORT_FLAG');
1590 x_return_status := OKE_API.G_RET_STS_ERROR;
1591 RAISE G_EXCEPTION_HALT_VALIDATION;
1592 END IF;
1593
1594 END IF;
1595
1596 EXCEPTION
1597 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1598 NULL;
1599
1600 WHEN OTHERS THEN
1601 -- store SQL error message on message stack
1602 OKE_API.SET_MESSAGE(
1603 p_app_name =>g_app_name,
1604 p_msg_name =>G_UNEXPECTED_ERROR,
1605 p_token1 =>G_SQLCODE_TOKEN,
1606 p_token1_value =>SQLCODE,
1607 p_token2 =>G_SQLERRM_TOKEN,
1608 p_token2_value =>SQLERRM);
1609 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1610
1611 END validate_EXPORT_flag;
1612
1613
1614
1615
1616 PROCEDURE validate_CFE_REQ_flag(x_return_status OUT NOCOPY VARCHAR2,
1617 p_cle_rec IN cle_rec_type)IS
1618
1619 BEGIN
1620 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1621
1622 IF ( p_cle_rec.CFE_REQ_flag <> OKE_API.G_MISS_CHAR
1623 AND p_cle_rec.CFE_REQ_flag IS NOT NULL) THEN
1624 IF (UPPER(p_cle_rec.CFE_REQ_flag) NOT IN ('Y','N')) THEN
1625 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1626 p_msg_name =>G_REQUIRED_VALUE,
1627 p_token1 =>G_COL_NAME_TOKEN,
1628 p_token1_value =>'CFE_REQ_FLAG');
1629 x_return_status := OKE_API.G_RET_STS_ERROR;
1630 RAISE G_EXCEPTION_HALT_VALIDATION;
1631 END IF;
1632
1633 END IF;
1634
1635 EXCEPTION
1636 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1637 NULL;
1638
1639 WHEN OTHERS THEN
1640 -- store SQL error message on message stack
1641 OKE_API.SET_MESSAGE(
1642 p_app_name =>g_app_name,
1643 p_msg_name =>G_UNEXPECTED_ERROR,
1644 p_token1 =>G_SQLCODE_TOKEN,
1645 p_token1_value =>SQLCODE,
1646 p_token2 =>G_SQLERRM_TOKEN,
1647 p_token2_value =>SQLERRM);
1648 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1649
1650 END validate_CFE_REQ_flag;
1651
1652
1653
1654 PROCEDURE validate_COP_REQUIRED_flag(x_return_status OUT NOCOPY VARCHAR2,
1655 p_cle_rec IN cle_rec_type)IS
1656
1657 BEGIN
1658 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1659
1660 IF ( p_cle_rec.COP_REQUIRED_flag <> OKE_API.G_MISS_CHAR
1661 AND p_cle_rec.COP_REQUIRED_flag IS NOT NULL) THEN
1662 IF (UPPER(p_cle_rec.COP_REQUIRED_flag) NOT IN ('Y','N')) THEN
1663 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1664 p_msg_name =>G_REQUIRED_VALUE,
1665 p_token1 =>G_COL_NAME_TOKEN,
1666 p_token1_value =>'COP_REQUIRED_FLAG');
1667 x_return_status := OKE_API.G_RET_STS_ERROR;
1668 RAISE G_EXCEPTION_HALT_VALIDATION;
1669 END IF;
1670
1671 END IF;
1672
1673 EXCEPTION
1674 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1675 NULL;
1676
1677 WHEN OTHERS THEN
1678 -- store SQL error message on message stack
1679 OKE_API.SET_MESSAGE(
1680 p_app_name =>g_app_name,
1681 p_msg_name =>G_UNEXPECTED_ERROR,
1682 p_token1 =>G_SQLCODE_TOKEN,
1683 p_token1_value =>SQLCODE,
1684 p_token2 =>G_SQLERRM_TOKEN,
1685 p_token2_value =>SQLERRM);
1686 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1687
1688 END validate_COP_REQUIRED_flag;
1689
1690
1691
1692
1693 PROCEDURE validate_DCAA_AUDIT_REQ_flag(x_return_status OUT NOCOPY VARCHAR2,
1694 p_cle_rec IN cle_rec_type)IS
1695
1696 BEGIN
1697 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1698
1699 IF ( p_cle_rec.DCAA_AUDIT_REQ_flag <> OKE_API.G_MISS_CHAR
1700 AND p_cle_rec.DCAA_AUDIT_REQ_flag IS NOT NULL) THEN
1701 IF (UPPER(p_cle_rec.DCAA_AUDIT_REQ_flag) NOT IN ('Y','N')) THEN
1702 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1703 p_msg_name =>G_REQUIRED_VALUE,
1704 p_token1 =>G_COL_NAME_TOKEN,
1705 p_token1_value =>'DCAA_AUDIT_REQ_FLAG');
1706 x_return_status := OKE_API.G_RET_STS_ERROR;
1707 RAISE G_EXCEPTION_HALT_VALIDATION;
1708 END IF;
1709
1710 END IF;
1711
1712 EXCEPTION
1713 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1714 NULL;
1715
1716 WHEN OTHERS THEN
1717 -- store SQL error message on message stack
1718 OKE_API.SET_MESSAGE(
1719 p_app_name =>g_app_name,
1720 p_msg_name =>G_UNEXPECTED_ERROR,
1721 p_token1 =>G_SQLCODE_TOKEN,
1722 p_token1_value =>SQLCODE,
1723 p_token2 =>G_SQLERRM_TOKEN,
1724 p_token2_value =>SQLERRM);
1725 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1726
1727 END validate_DCAA_AUDIT_REQ_flag;
1728
1729
1730
1731 PROCEDURE validate_DEFINITIZED_flag(x_return_status OUT NOCOPY VARCHAR2,
1732 p_cle_rec IN cle_rec_type)IS
1733
1734 BEGIN
1735 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1736
1737 IF ( p_cle_rec.DEFINITIZED_flag <> OKE_API.G_MISS_CHAR
1738 AND p_cle_rec.DEFINITIZED_flag IS NOT NULL) THEN
1739 IF (UPPER(p_cle_rec.DEFINITIZED_flag) NOT IN ('Y','N')) THEN
1740 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1741 p_msg_name =>G_REQUIRED_VALUE,
1742 p_token1 =>G_COL_NAME_TOKEN,
1743 p_token1_value =>'DEFINITIZED_FLAG');
1744 x_return_status := OKE_API.G_RET_STS_ERROR;
1745 RAISE G_EXCEPTION_HALT_VALIDATION;
1746 END IF;
1747
1748 END IF;
1749
1750 EXCEPTION
1751 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1752 NULL;
1753
1754 WHEN OTHERS THEN
1755 -- store SQL error message on message stack
1756 OKE_API.SET_MESSAGE(
1757 p_app_name =>g_app_name,
1758 p_msg_name =>G_UNEXPECTED_ERROR,
1759 p_token1 =>G_SQLCODE_TOKEN,
1760 p_token1_value =>SQLCODE,
1761 p_token2 =>G_SQLERRM_TOKEN,
1762 p_token2_value =>SQLERRM);
1763 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1764
1765 END validate_DEFINITIZED_flag;
1766
1767
1768
1769
1770 PROCEDURE validate_BILL_UNDEFINITIZED(x_return_status OUT NOCOPY VARCHAR2,
1771 p_cle_rec IN cle_rec_type)IS
1772
1773 BEGIN
1774 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1775
1776 IF ( p_cle_rec.BILL_UNDEFINITIZED_flag <> OKE_API.G_MISS_CHAR
1777 AND p_cle_rec.BILL_UNDEFINITIZED_flag IS NOT NULL) THEN
1778 IF (UPPER(p_cle_rec.BILL_UNDEFINITIZED_flag) NOT IN ('Y','N')) THEN
1779 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1780 p_msg_name =>G_REQUIRED_VALUE,
1781 p_token1 =>G_COL_NAME_TOKEN,
1782 p_token1_value =>'BILL_UNDEFINITIZED_FLAG');
1783 x_return_status := OKE_API.G_RET_STS_ERROR;
1784 RAISE G_EXCEPTION_HALT_VALIDATION;
1785 END IF;
1786
1787 END IF;
1788
1789 EXCEPTION
1790 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1791 NULL;
1792
1793 WHEN OTHERS THEN
1794 -- store SQL error message on message stack
1795 OKE_API.SET_MESSAGE(
1796 p_app_name =>g_app_name,
1797 p_msg_name =>G_UNEXPECTED_ERROR,
1798 p_token1 =>G_SQLCODE_TOKEN,
1799 p_token1_value =>SQLCODE,
1800 p_token2 =>G_SQLERRM_TOKEN,
1801 p_token2_value =>SQLERRM);
1802 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1803
1804 END validate_BILL_UNDEFINITIZED;
1805
1806
1807
1808 PROCEDURE validate_NTE_WARNING_flag(x_return_status OUT NOCOPY VARCHAR2,
1809 p_cle_rec IN cle_rec_type)IS
1810
1811 BEGIN
1812 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1813
1814 IF ( p_cle_rec.NTE_WARNING_flag <> OKE_API.G_MISS_CHAR
1815 AND p_cle_rec.NTE_WARNING_flag IS NOT NULL) THEN
1816 IF (UPPER(p_cle_rec.NTE_WARNING_flag) NOT IN ('Y','N')) THEN
1817 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1818 p_msg_name =>G_REQUIRED_VALUE,
1819 p_token1 =>G_COL_NAME_TOKEN,
1820 p_token1_value =>'NTE_WARNING_FLAG');
1821 x_return_status := OKE_API.G_RET_STS_ERROR;
1822 RAISE G_EXCEPTION_HALT_VALIDATION;
1823 END IF;
1824
1825 END IF;
1826
1827 EXCEPTION
1828 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1829 NULL;
1830
1831 WHEN OTHERS THEN
1832 -- store SQL error message on message stack
1833 OKE_API.SET_MESSAGE(
1834 p_app_name =>g_app_name,
1835 p_msg_name =>G_UNEXPECTED_ERROR,
1836 p_token1 =>G_SQLCODE_TOKEN,
1837 p_token1_value =>SQLCODE,
1838 p_token2 =>G_SQLERRM_TOKEN,
1839 p_token2_value =>SQLERRM);
1840 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1841
1842 END validate_NTE_WARNING_flag;
1843
1844
1845
1846
1847 PROCEDURE validate_FINANCIAL_CTRL_flag(x_return_status OUT NOCOPY VARCHAR2,
1848 p_cle_rec IN cle_rec_type)IS
1849
1850 BEGIN
1851 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1852
1853 IF ( p_cle_rec.FINANCIAL_CTRL_flag <> OKE_API.G_MISS_CHAR
1854 AND p_cle_rec.FINANCIAL_CTRL_flag IS NOT NULL) THEN
1855 IF (UPPER(p_cle_rec.FINANCIAL_CTRL_flag) NOT IN ('Y','N')) THEN
1856 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1857 p_msg_name =>G_REQUIRED_VALUE,
1858 p_token1 =>G_COL_NAME_TOKEN,
1859 p_token1_value =>'FINANCIAL_CTRL_FLAG');
1860 x_return_status := OKE_API.G_RET_STS_ERROR;
1861 RAISE G_EXCEPTION_HALT_VALIDATION;
1862 END IF;
1863
1864 END IF;
1865
1866 EXCEPTION
1867 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1868 NULL;
1869
1870 WHEN OTHERS THEN
1871 -- store SQL error message on message stack
1872 OKE_API.SET_MESSAGE(
1873 p_app_name =>g_app_name,
1874 p_msg_name =>G_UNEXPECTED_ERROR,
1875 p_token1 =>G_SQLCODE_TOKEN,
1876 p_token1_value =>SQLCODE,
1877 p_token2 =>G_SQLERRM_TOKEN,
1878 p_token2_value =>SQLERRM);
1879 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1880
1881 END validate_FINANCIAL_CTRL_flag;
1882
1883
1884
1885 PROCEDURE validate_C_SCS_flag(x_return_status OUT NOCOPY VARCHAR2,
1886 p_cle_rec IN cle_rec_type)IS
1887
1888 BEGIN
1889 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1890
1891 IF ( p_cle_rec.C_SCS_flag <> OKE_API.G_MISS_CHAR
1892 AND p_cle_rec.C_SCS_flag IS NOT NULL) THEN
1893 IF (UPPER(p_cle_rec.C_SCS_flag) NOT IN ('Y','N')) THEN
1894 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1895 p_msg_name =>G_REQUIRED_VALUE,
1896 p_token1 =>G_COL_NAME_TOKEN,
1897 p_token1_value =>'C_SCS_FLAG');
1898 x_return_status := OKE_API.G_RET_STS_ERROR;
1899 RAISE G_EXCEPTION_HALT_VALIDATION;
1900 END IF;
1901
1902 END IF;
1903
1904 EXCEPTION
1905 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1906 NULL;
1907
1908 WHEN OTHERS THEN
1909 -- store SQL error message on message stack
1910 OKE_API.SET_MESSAGE(
1911 p_app_name =>g_app_name,
1912 p_msg_name =>G_UNEXPECTED_ERROR,
1913 p_token1 =>G_SQLCODE_TOKEN,
1914 p_token1_value =>SQLCODE,
1915 p_token2 =>G_SQLERRM_TOKEN,
1916 p_token2_value =>SQLERRM);
1917 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1918
1919 END validate_C_SCS_flag;
1920
1921
1922
1923
1924 PROCEDURE validate_C_SSR_flag(x_return_status OUT NOCOPY VARCHAR2,
1925 p_cle_rec IN cle_rec_type)IS
1926
1927 BEGIN
1928 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1929
1930 IF ( p_cle_rec.C_SSR_flag <> OKE_API.G_MISS_CHAR
1931 AND p_cle_rec.C_SSR_flag IS NOT NULL) THEN
1932 IF (UPPER(p_cle_rec.C_SSR_flag) NOT IN ('Y','N')) THEN
1933 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1934 p_msg_name =>G_REQUIRED_VALUE,
1935 p_token1 =>G_COL_NAME_TOKEN,
1936 p_token1_value =>'C_SSR_FLAG');
1937 x_return_status := OKE_API.G_RET_STS_ERROR;
1938 RAISE G_EXCEPTION_HALT_VALIDATION;
1939 END IF;
1940
1941 END IF;
1942
1943 EXCEPTION
1944 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1945 NULL;
1946
1947 WHEN OTHERS THEN
1948 -- store SQL error message on message stack
1949 OKE_API.SET_MESSAGE(
1950 p_app_name =>g_app_name,
1951 p_msg_name =>G_UNEXPECTED_ERROR,
1952 p_token1 =>G_SQLCODE_TOKEN,
1953 p_token1_value =>SQLCODE,
1954 p_token2 =>G_SQLERRM_TOKEN,
1955 p_token2_value =>SQLERRM);
1956 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1957
1958 END validate_C_SSR_flag;
1959
1960
1961
1962 PROCEDURE validate_PROGRESS_PAYMENT_flag(x_return_status OUT NOCOPY VARCHAR2,
1963 p_cle_rec IN cle_rec_type)IS
1964
1965 BEGIN
1966 x_return_status := OKE_API.G_RET_STS_SUCCESS;
1967
1968 IF ( p_cle_rec.PROGRESS_PAYMENT_flag <> OKE_API.G_MISS_CHAR
1969 AND p_cle_rec.PROGRESS_PAYMENT_flag IS NOT NULL) THEN
1970 IF (UPPER(p_cle_rec.PROGRESS_PAYMENT_flag) NOT IN ('Y','N')) THEN
1971 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
1972 p_msg_name =>G_REQUIRED_VALUE,
1973 p_token1 =>G_COL_NAME_TOKEN,
1974 p_token1_value =>'PROGRESS_PAYMENT_FLAG');
1975 x_return_status := OKE_API.G_RET_STS_ERROR;
1976 RAISE G_EXCEPTION_HALT_VALIDATION;
1977 END IF;
1978
1979 END IF;
1980
1981 EXCEPTION
1982 WHEN G_EXCEPTION_HALT_VALIDATION THEN
1983 NULL;
1984
1985 WHEN OTHERS THEN
1986 -- store SQL error message on message stack
1987 OKE_API.SET_MESSAGE(
1988 p_app_name =>g_app_name,
1989 p_msg_name =>G_UNEXPECTED_ERROR,
1990 p_token1 =>G_SQLCODE_TOKEN,
1991 p_token1_value =>SQLCODE,
1992 p_token2 =>G_SQLERRM_TOKEN,
1993 p_token2_value =>SQLERRM);
1994 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
1995
1996 END validate_PROGRESS_PAYMENT_flag;
1997
1998
1999
2000
2001 PROCEDURE validate_cost_of_money(x_return_status OUT NOCOPY VARCHAR2,
2002 p_cle_rec IN cle_rec_type)IS
2003
2004 BEGIN
2005 x_return_status := OKE_API.G_RET_STS_SUCCESS;
2006
2007 IF ( p_cle_rec.cost_of_money <> OKE_API.G_MISS_CHAR
2008 AND p_cle_rec.cost_of_money IS NOT NULL) THEN
2009 IF (UPPER(p_cle_rec.cost_of_money) NOT IN ('Y','N')) THEN
2010 OKE_API.SET_MESSAGE(p_app_name =>g_app_name,
2011 p_msg_name =>G_REQUIRED_VALUE,
2012 p_token1 =>G_COL_NAME_TOKEN,
2013 p_token1_value =>'COST_OF_MONEY');
2014 x_return_status := OKE_API.G_RET_STS_ERROR;
2015 RAISE G_EXCEPTION_HALT_VALIDATION;
2016 END IF;
2017
2018 END IF;
2019
2020 EXCEPTION
2021 WHEN G_EXCEPTION_HALT_VALIDATION THEN
2022 NULL;
2023
2024 WHEN OTHERS THEN
2025 -- store SQL error message on message stack
2026 OKE_API.SET_MESSAGE(
2027 p_app_name =>g_app_name,
2028 p_msg_name =>G_UNEXPECTED_ERROR,
2029 p_token1 =>G_SQLCODE_TOKEN,
2030 p_token1_value =>SQLCODE,
2031 p_token2 =>G_SQLERRM_TOKEN,
2032 p_token2_value =>SQLERRM);
2033 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
2034
2035 END validate_COST_OF_MONEY;
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045 FUNCTION get_rec (
2046 p_cle_rec IN cle_rec_type,
2047 x_no_data_found OUT NOCOPY BOOLEAN
2048 ) RETURN cle_rec_type IS
2049
2050 CURSOR cle_pk_csr (p_id IN NUMBER) IS
2051 SELECT K_LINE_ID ,
2052 PARENT_LINE_ID ,
2053 PROJECT_ID ,
2054 TASK_ID ,
2055 BILLING_METHOD_CODE ,
2056 INVENTORY_ITEM_ID ,
2057 DELIVERY_ORDER_FLAG ,
2058 SPLITED_FLAG ,
2059 PRIORITY_CODE ,
2060 CUSTOMER_ITEM_ID ,
2061 CUSTOMER_ITEM_NUMBER ,
2062 LINE_QUANTITY ,
2063 DELIVERY_DATE ,
2064 PROPOSAL_DUE_DATE ,
2065 UNIT_PRICE ,
2066 UOM_CODE ,
2067 LINE_VALUE ,
2068 LINE_VALUE_TOTAL ,
2069 UNDEF_UNIT_PRICE ,
2070 UNDEF_LINE_VALUE ,
2071 UNDEF_LINE_VALUE_TOTAL ,
2072 END_DATE ,
2073 BILLABLE_FLAG ,
2074 SHIPPABLE_FLAG ,
2075 SUBCONTRACTED_FLAG ,
2076 COMPLETED_FLAG ,
2077 NSP_FLAG ,
2078 APP_CODE ,
2079 AS_OF_DATE ,
2080 AUTHORITY ,
2081 COUNTRY_OF_ORIGIN_CODE ,
2082 DROP_SHIPPED_FLAG ,
2083 CUSTOMER_APPROVAL_REQ_FLAG ,
2084 DATE_MATERIAL_REQ ,
2085 INSPECTION_REQ_FLAG ,
2086 INTERIM_RPT_REQ_FLAG ,
2087 SUBJ_A133_FLAG ,
2088 EXPORT_FLAG ,
2089 CFE_REQ_FLAG ,
2090 COP_REQUIRED_FLAG ,
2091 EXPORT_LICENSE_NUM ,
2092 EXPORT_LICENSE_RES ,
2093 COPIES_REQUIRED ,
2094 CDRL_CATEGORY ,
2095 DATA_ITEM_NAME ,
2096 DATA_ITEM_SUBTITLE ,
2097 DATE_OF_FIRST_SUBMISSION ,
2098 FREQUENCY ,
2099 REQUIRING_OFFICE ,
2100 DCAA_AUDIT_REQ_FLAG ,
2101 DEFINITIZED_FLAG ,
2102 COST_OF_MONEY ,
2103 BILL_UNDEFINITIZED_FLAG ,
2104 NSN_NUMBER ,
2105 NTE_WARNING_FLAG ,
2106 DISCOUNT_FOR_PAYMENT ,
2107 FINANCIAL_CTRL_FLAG ,
2108 C_SCS_FLAG ,
2109 C_SSR_FLAG ,
2110 PREPAYMENT_AMOUNT ,
2111 PREPAYMENT_PERCENTAGE ,
2112 PROGRESS_PAYMENT_FLAG ,
2113 PROGRESS_PAYMENT_LIQ_RATE ,
2114 PROGRESS_PAYMENT_RATE ,
2115 AWARD_FEE ,
2116 AWARD_FEE_POOL_AMOUNT ,
2117 BASE_FEE ,
2118 CEILING_COST ,
2119 CEILING_PRICE ,
2120 COST_OVERRUN_SHARE_RATIO ,
2121 COST_UNDERRUN_SHARE_RATIO ,
2122 LABOR_COST_INDEX ,
2123 MATERIAL_COST_INDEX ,
2124 CUSTOMERS_PERCENT_IN_ORDER ,
2125 DATE_OF_PRICE_REDETERMIN ,
2126 ESTIMATED_TOTAL_QUANTITY ,
2127 FEE_AJT_FORMULA ,
2128 FINAL_FEE ,
2129 FINAL_PFT_AJT_FORMULA ,
2130 FIXED_FEE ,
2131 FIXED_QUANTITY ,
2132 INITIAL_FEE ,
2133 INITIAL_PRICE ,
2134 LEVEL_OF_EFFORT_HOURS ,
2135 LINE_LIQUIDATION_RATE ,
2136 MAXIMUM_FEE ,
2137 MAXIMUM_QUANTITY ,
2138 MINIMUM_FEE ,
2139 MINIMUM_QUANTITY ,
2140 NUMBER_OF_OPTIONS ,
2141 REVISED_PRICE ,
2142 TARGET_COST ,
2143 TARGET_DATE_DEFINITIZE ,
2144 TARGET_FEE ,
2145 TARGET_PRICE ,
2146 TOTAL_ESTIMATED_COST ,
2147 CREATED_BY ,
2148 CREATION_DATE ,
2149 LAST_UPDATED_BY ,
2150 LAST_UPDATE_LOGIN ,
2151 LAST_UPDATE_DATE ,
2152 COST_OF_SALE_RATE
2153
2154 FROM OKE_K_LINES
2155 WHERE OKE_K_LINES.K_LINE_ID = p_id;
2156
2157 l_cle_pk cle_pk_csr%ROWTYPE;
2158 l_cle_rec cle_rec_type;
2159
2160 BEGIN
2161 x_no_data_found := TRUE;
2162
2163 -- get current database value
2164
2165 OPEN cle_pk_csr(p_cle_rec.K_LINE_ID);
2166 FETCH cle_pk_csr INTO l_cle_rec.K_LINE_ID ,
2167 l_cle_rec.PARENT_LINE_ID ,
2168 l_cle_rec.PROJECT_ID ,
2169 l_cle_rec.TASK_ID ,
2170 l_cle_rec.BILLING_METHOD_CODE ,
2171 l_cle_rec.INVENTORY_ITEM_ID ,
2172 l_cle_rec.DELIVERY_ORDER_FLAG ,
2173 l_cle_rec.SPLITED_FLAG ,
2174 l_cle_rec.PRIORITY_CODE ,
2175 l_cle_rec.CUSTOMER_ITEM_ID ,
2176 l_cle_rec.CUSTOMER_ITEM_NUMBER ,
2177 l_cle_rec.LINE_QUANTITY ,
2178 l_cle_rec.DELIVERY_DATE ,
2179 l_cle_rec.PROPOSAL_DUE_DATE ,
2180 l_cle_rec.UNIT_PRICE ,
2181 l_cle_rec.UOM_CODE ,
2182 l_cle_rec.LINE_VALUE ,
2183 l_cle_rec.LINE_VALUE_TOTAL ,
2184 l_cle_rec.UNDEF_UNIT_PRICE ,
2185 l_cle_rec.UNDEF_LINE_VALUE ,
2186 l_cle_rec.UNDEF_LINE_VALUE_TOTAL ,
2187 l_cle_rec.END_DATE ,
2188 l_cle_rec.BILLABLE_FLAG ,
2189 l_cle_rec.SHIPPABLE_FLAG ,
2190 l_cle_rec.SUBCONTRACTED_FLAG ,
2191 l_cle_rec.COMPLETED_FLAG ,
2192 l_cle_rec.NSP_FLAG ,
2193 l_cle_rec.APP_CODE ,
2194 l_cle_rec.AS_OF_DATE ,
2195 l_cle_rec.AUTHORITY ,
2196 l_cle_rec.COUNTRY_OF_ORIGIN_CODE ,
2197 l_cle_rec.DROP_SHIPPED_FLAG ,
2198 l_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG ,
2199 l_cle_rec.DATE_MATERIAL_REQ ,
2200 l_cle_rec.INSPECTION_REQ_FLAG ,
2201 l_cle_rec.INTERIM_RPT_REQ_FLAG ,
2202 l_cle_rec.SUBJ_A133_FLAG ,
2203 l_cle_rec.EXPORT_FLAG ,
2204 l_cle_rec.CFE_REQ_FLAG ,
2205 l_cle_rec.COP_REQUIRED_FLAG ,
2206 l_cle_rec.EXPORT_LICENSE_NUM ,
2207 l_cle_rec.EXPORT_LICENSE_RES ,
2208 l_cle_rec.COPIES_REQUIRED ,
2209 l_cle_rec.CDRL_CATEGORY ,
2210 l_cle_rec.DATA_ITEM_NAME ,
2211 l_cle_rec.DATA_ITEM_SUBTITLE ,
2212 l_cle_rec.DATE_OF_FIRST_SUBMISSION ,
2213 l_cle_rec.FREQUENCY ,
2214 l_cle_rec.REQUIRING_OFFICE ,
2215 l_cle_rec.DCAA_AUDIT_REQ_FLAG ,
2216 l_cle_rec.DEFINITIZED_FLAG ,
2217 l_cle_rec.COST_OF_MONEY ,
2218 l_cle_rec.BILL_UNDEFINITIZED_FLAG ,
2219 l_cle_rec.NSN_NUMBER ,
2220 l_cle_rec.NTE_WARNING_FLAG ,
2221 l_cle_rec.DISCOUNT_FOR_PAYMENT ,
2222 l_cle_rec.FINANCIAL_CTRL_FLAG ,
2223 l_cle_rec.C_SCS_FLAG ,
2224 l_cle_rec.C_SSR_FLAG ,
2225 l_cle_rec.PREPAYMENT_AMOUNT ,
2226 l_cle_rec.PREPAYMENT_PERCENTAGE ,
2227 l_cle_rec.PROGRESS_PAYMENT_FLAG ,
2228 l_cle_rec.PROGRESS_PAYMENT_LIQ_RATE ,
2229 l_cle_rec.PROGRESS_PAYMENT_RATE ,
2230 l_cle_rec.AWARD_FEE ,
2231 l_cle_rec.AWARD_FEE_POOL_AMOUNT ,
2232 l_cle_rec.BASE_FEE ,
2233 l_cle_rec.CEILING_COST ,
2234 l_cle_rec.CEILING_PRICE ,
2235 l_cle_rec.COST_OVERRUN_SHARE_RATIO ,
2236 l_cle_rec.COST_UNDERRUN_SHARE_RATIO ,
2237 l_cle_rec.LABOR_COST_INDEX ,
2238 l_cle_rec.MATERIAL_COST_INDEX ,
2239 l_cle_rec.CUSTOMERS_PERCENT_IN_ORDER ,
2240 l_cle_rec.DATE_OF_PRICE_REDETERMIN ,
2241 l_cle_rec.ESTIMATED_TOTAL_QUANTITY ,
2242 l_cle_rec.FEE_AJT_FORMULA ,
2243 l_cle_rec.FINAL_FEE ,
2244 l_cle_rec.FINAL_PFT_AJT_FORMULA ,
2245 l_cle_rec.FIXED_FEE ,
2246 l_cle_rec.FIXED_QUANTITY ,
2247 l_cle_rec.INITIAL_FEE ,
2248 l_cle_rec.INITIAL_PRICE ,
2249 l_cle_rec.LEVEL_OF_EFFORT_HOURS ,
2250 l_cle_rec.LINE_LIQUIDATION_RATE ,
2251 l_cle_rec.MAXIMUM_FEE ,
2252 l_cle_rec.MAXIMUM_QUANTITY ,
2253 l_cle_rec.MINIMUM_FEE ,
2254 l_cle_rec.MINIMUM_QUANTITY ,
2255 l_cle_rec.NUMBER_OF_OPTIONS ,
2256 l_cle_rec.REVISED_PRICE ,
2257 l_cle_rec.TARGET_COST ,
2258 l_cle_rec.TARGET_DATE_DEFINITIZE ,
2259 l_cle_rec.TARGET_FEE ,
2260 l_cle_rec.TARGET_PRICE ,
2261 l_cle_rec.TOTAL_ESTIMATED_COST ,
2262 l_cle_rec.CREATED_BY ,
2263 l_cle_rec.CREATION_DATE ,
2264 l_cle_rec.LAST_UPDATED_BY ,
2265 l_cle_rec.LAST_UPDATE_LOGIN ,
2266 l_cle_rec.LAST_UPDATE_DATE ,
2267 l_cle_rec.COST_OF_SALE_RATE;
2268
2269 x_no_data_found := cle_pk_csr%NOTFOUND;
2270
2271 CLOSE cle_pk_csr;
2272
2273 RETURN(l_cle_rec);
2274
2275 END get_rec;
2276
2277 FUNCTION get_rec (
2278 p_cle_rec IN cle_rec_type)RETURN cle_rec_type IS
2279 l_row_notfound BOOLEAN := TRUE;
2280
2281 BEGIN
2282 RETURN(get_rec(p_cle_rec, l_row_notfound));
2283 END get_rec;
2284
2285 FUNCTION null_out_defaults(
2286 p_cle_rec IN cle_rec_type ) RETURN cle_rec_type IS
2287
2288 l_cle_rec cle_rec_type := p_cle_rec;
2289
2290 BEGIN
2291
2292
2293 IF l_cle_rec.PARENT_LINE_ID = OKE_API.G_MISS_NUM THEN
2294 l_cle_rec.PARENT_LINE_ID := NULL;
2295 END IF;
2296
2297 IF l_cle_rec.PROJECT_ID = OKE_API.G_MISS_NUM THEN
2298 l_cle_rec.PROJECT_ID := NULL;
2299 END IF;
2300
2301 IF l_cle_rec.TASK_ID = OKE_API.G_MISS_NUM THEN
2302 l_cle_rec.TASK_ID := NULL;
2303 END IF;
2304
2305 IF l_cle_rec.BILLING_METHOD_CODE = OKE_API.G_MISS_CHAR THEN
2306 l_cle_rec.BILLING_METHOD_CODE := NULL;
2307 END IF;
2308
2309 IF l_cle_rec.INVENTORY_ITEM_ID = OKE_API.G_MISS_NUM THEN
2310 l_cle_rec.INVENTORY_ITEM_ID := NULL;
2311 END IF;
2312
2313 IF l_cle_rec.DELIVERY_ORDER_FLAG = OKE_API.G_MISS_CHAR THEN
2314 l_cle_rec.DELIVERY_ORDER_FLAG := NULL;
2315 END IF;
2316
2317 IF l_cle_rec.SPLITED_FLAG = OKE_API.G_MISS_CHAR THEN
2318 l_cle_rec.SPLITED_FLAG := NULL;
2319 END IF;
2320
2321 IF l_cle_rec.PRIORITY_CODE = OKE_API.G_MISS_CHAR THEN
2322 l_cle_rec.PRIORITY_CODE := NULL;
2323 END IF;
2324
2325 IF l_cle_rec.CUSTOMER_ITEM_ID = OKE_API.G_MISS_NUM THEN
2326 l_cle_rec.CUSTOMER_ITEM_ID := NULL;
2327 END IF;
2328
2329 IF l_cle_rec.CUSTOMER_ITEM_NUMBER = OKE_API.G_MISS_CHAR THEN
2330 l_cle_rec.CUSTOMER_ITEM_NUMBER := NULL;
2331 END IF;
2332
2333 IF l_cle_rec.LINE_QUANTITY = OKE_API.G_MISS_NUM THEN
2334 l_cle_rec.LINE_QUANTITY := NULL;
2335 END IF;
2336
2337 IF l_cle_rec.DELIVERY_DATE = OKE_API.G_MISS_DATE THEN
2338 l_cle_rec.DELIVERY_DATE := NULL;
2339 END IF;
2340
2341 IF l_cle_rec.PROPOSAL_DUE_DATE = OKE_API.G_MISS_CHAR THEN
2342 l_cle_rec.PROPOSAL_DUE_DATE := NULL;
2343 END IF;
2344
2345 IF l_cle_rec.UNIT_PRICE = OKE_API.G_MISS_NUM THEN
2346 l_cle_rec.UNIT_PRICE := NULL;
2347 END IF;
2348
2349 IF l_cle_rec.UOM_CODE = OKE_API.G_MISS_CHAR THEN
2350 l_cle_rec.UOM_CODE := NULL;
2351 END IF;
2352
2353 IF l_cle_rec.LINE_VALUE = OKE_API.G_MISS_NUM THEN
2354 l_cle_rec.LINE_VALUE := NULL;
2355 END IF;
2356
2357 IF l_cle_rec.LINE_VALUE_TOTAL = OKE_API.G_MISS_NUM THEN
2358 l_cle_rec.LINE_VALUE_TOTAL := NULL;
2359 END IF;
2360
2361 IF l_cle_rec.UNDEF_UNIT_PRICE = OKE_API.G_MISS_NUM THEN
2362 l_cle_rec.UNDEF_UNIT_PRICE := NULL;
2363 END IF;
2364
2365 IF l_cle_rec.UNDEF_LINE_VALUE = OKE_API.G_MISS_NUM THEN
2366 l_cle_rec.UNDEF_LINE_VALUE := NULL;
2367 END IF;
2368
2369 IF l_cle_rec.UNDEF_LINE_VALUE_TOTAL = OKE_API.G_MISS_NUM THEN
2370 l_cle_rec.UNDEF_LINE_VALUE_TOTAL := NULL;
2371 END IF;
2372
2373 IF l_cle_rec.END_DATE = OKE_API.G_MISS_DATE THEN
2374 l_cle_rec.END_DATE := NULL;
2375 END IF;
2376
2377
2378 IF l_cle_rec.BILLABLE_FLAG = OKE_API.G_MISS_CHAR THEN
2379 l_cle_rec.BILLABLE_FLAG := NULL;
2380 END IF;
2381
2382 IF l_cle_rec.SHIPPABLE_FLAG = OKE_API.G_MISS_CHAR THEN
2383 l_cle_rec.SHIPPABLE_FLAG := NULL;
2384 END IF;
2385
2386 IF l_cle_rec.SUBCONTRACTED_FLAG = OKE_API.G_MISS_CHAR THEN
2387 l_cle_rec.SUBCONTRACTED_FLAG := NULL;
2388 END IF;
2389
2390 IF l_cle_rec.COMPLETED_FLAG = OKE_API.G_MISS_CHAR THEN
2391 l_cle_rec.COMPLETED_FLAG := NULL;
2392 END IF;
2393
2394 IF l_cle_rec.NSP_FLAG = OKE_API.G_MISS_CHAR THEN
2395 l_cle_rec.NSP_FLAG := NULL;
2396 END IF;
2397
2398 IF l_cle_rec.APP_CODE = OKE_API.G_MISS_CHAR THEN
2399 l_cle_rec.APP_CODE := NULL;
2400 END IF;
2401
2402 IF l_cle_rec.AS_OF_DATE = OKE_API.G_MISS_DATE THEN
2403 l_cle_rec.AS_OF_DATE := NULL;
2404 END IF;
2405
2406 IF l_cle_rec.AUTHORITY = OKE_API.G_MISS_CHAR THEN
2407 l_cle_rec.AUTHORITY := NULL;
2408 END IF;
2409
2410 IF l_cle_rec.COUNTRY_OF_ORIGIN_CODE = OKE_API.G_MISS_CHAR THEN
2411 l_cle_rec.COUNTRY_OF_ORIGIN_CODE := NULL;
2412 END IF;
2413
2414 IF l_cle_rec.DROP_SHIPPED_FLAG = OKE_API.G_MISS_CHAR THEN
2415 l_cle_rec.DROP_SHIPPED_FLAG := NULL;
2416 END IF;
2417
2418 IF l_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
2419 l_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG := NULL;
2420 END IF;
2421
2422 IF l_cle_rec.DATE_MATERIAL_REQ = OKE_API.G_MISS_DATE THEN
2423 l_cle_rec.DATE_MATERIAL_REQ := NULL;
2424 END IF;
2425
2426 IF l_cle_rec.INSPECTION_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
2427 l_cle_rec.INSPECTION_REQ_FLAG := NULL;
2428 END IF;
2429
2430 IF l_cle_rec.INTERIM_RPT_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
2431 l_cle_rec.INTERIM_RPT_REQ_FLAG := NULL;
2432 END IF;
2433
2434
2435 IF l_cle_rec.SUBJ_A133_FLAG = OKE_API.G_MISS_CHAR THEN
2436 l_cle_rec.SUBJ_A133_FLAG := NULL;
2437 END IF;
2438
2439 IF l_cle_rec.EXPORT_FLAG = OKE_API.G_MISS_CHAR THEN
2440 l_cle_rec.EXPORT_FLAG := NULL;
2441 END IF;
2442
2443 IF l_cle_rec.CFE_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
2444 l_cle_rec.CFE_REQ_FLAG := NULL;
2445 END IF;
2446
2447 IF l_cle_rec.COP_REQUIRED_FLAG = OKE_API.G_MISS_CHAR THEN
2448 l_cle_rec.COP_REQUIRED_FLAG := NULL;
2449 END IF;
2450
2451 IF l_cle_rec.EXPORT_LICENSE_NUM = OKE_API.G_MISS_CHAR THEN
2452 l_cle_rec.EXPORT_LICENSE_NUM := NULL;
2453 END IF;
2454
2455 IF l_cle_rec.EXPORT_LICENSE_RES = OKE_API.G_MISS_CHAR THEN
2456 l_cle_rec.EXPORT_LICENSE_RES := NULL;
2457 END IF;
2458
2459 IF l_cle_rec.COPIES_REQUIRED = OKE_API.G_MISS_NUM THEN
2460 l_cle_rec.COPIES_REQUIRED := NULL;
2461 END IF;
2462
2463 IF l_cle_rec.CDRL_CATEGORY = OKE_API.G_MISS_CHAR THEN
2464 l_cle_rec.CDRL_CATEGORY := NULL;
2465 END IF;
2466
2467 IF l_cle_rec.DATA_ITEM_NAME = OKE_API.G_MISS_CHAR THEN
2468 l_cle_rec.DATA_ITEM_NAME := NULL;
2469 END IF;
2470
2471 IF l_cle_rec.DATA_ITEM_SUBTITLE = OKE_API.G_MISS_CHAR THEN
2472 l_cle_rec.DATA_ITEM_SUBTITLE := NULL;
2473 END IF;
2474
2475 IF l_cle_rec.DATE_OF_FIRST_SUBMISSION = OKE_API.G_MISS_DATE THEN
2476 l_cle_rec.DATE_OF_FIRST_SUBMISSION := NULL;
2477 END IF;
2478
2479 IF l_cle_rec.FREQUENCY = OKE_API.G_MISS_CHAR THEN
2480 l_cle_rec.FREQUENCY := NULL;
2481 END IF;
2482
2483 IF l_cle_rec.REQUIRING_OFFICE = OKE_API.G_MISS_CHAR THEN
2484 l_cle_rec.REQUIRING_OFFICE := NULL;
2485 END IF;
2486
2487 IF l_cle_rec.DCAA_AUDIT_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
2488 l_cle_rec.DCAA_AUDIT_REQ_FLAG := NULL;
2489 END IF;
2490
2491 IF l_cle_rec.DEFINITIZED_FLAG = OKE_API.G_MISS_CHAR THEN
2492 l_cle_rec.DEFINITIZED_FLAG := NULL;
2493 END IF;
2494
2495 IF l_cle_rec.COST_OF_MONEY = OKE_API.G_MISS_CHAR THEN
2496 l_cle_rec.COST_OF_MONEY := NULL;
2497 END IF;
2498
2499 IF l_cle_rec.BILL_UNDEFINITIZED_FLAG = OKE_API.G_MISS_CHAR THEN
2500 l_cle_rec.BILL_UNDEFINITIZED_FLAG := NULL;
2501 END IF;
2502
2503 IF l_cle_rec.NSN_NUMBER = OKE_API.G_MISS_CHAR THEN
2504 l_cle_rec.NSN_NUMBER := NULL;
2505 END IF;
2506
2507 IF l_cle_rec.NTE_WARNING_FLAG = OKE_API.G_MISS_CHAR THEN
2508 l_cle_rec.NTE_WARNING_FLAG := NULL;
2509 END IF;
2510
2511 IF l_cle_rec.DISCOUNT_FOR_PAYMENT = OKE_API.G_MISS_NUM THEN
2512 l_cle_rec.DISCOUNT_FOR_PAYMENT := NULL;
2513 END IF;
2514
2515 IF l_cle_rec.FINANCIAL_CTRL_FLAG = OKE_API.G_MISS_CHAR THEN
2516 l_cle_rec.FINANCIAL_CTRL_FLAG := NULL;
2517 END IF;
2518
2519 IF l_cle_rec.C_SCS_FLAG = OKE_API.G_MISS_CHAR THEN
2520 l_cle_rec.C_SCS_FLAG := NULL;
2521 END IF;
2522
2523
2524 IF l_cle_rec.C_SSR_FLAG = OKE_API.G_MISS_CHAR THEN
2525 l_cle_rec.C_SSR_FLAG := NULL;
2526 END IF;
2527
2528 IF l_cle_rec.PREPAYMENT_AMOUNT = OKE_API.G_MISS_NUM THEN
2529 l_cle_rec.PREPAYMENT_AMOUNT := NULL;
2530 END IF;
2531
2532 IF l_cle_rec.PREPAYMENT_PERCENTAGE = OKE_API.G_MISS_NUM THEN
2533 l_cle_rec.PREPAYMENT_PERCENTAGE := NULL;
2534 END IF;
2535
2536 IF l_cle_rec.PROGRESS_PAYMENT_FLAG = OKE_API.G_MISS_CHAR THEN
2537 l_cle_rec.PROGRESS_PAYMENT_FLAG := NULL;
2538 END IF;
2539
2540 IF l_cle_rec.PROGRESS_PAYMENT_LIQ_RATE = OKE_API.G_MISS_NUM THEN
2541 l_cle_rec.PROGRESS_PAYMENT_LIQ_RATE := NULL;
2542 END IF;
2543
2544 IF l_cle_rec.PROGRESS_PAYMENT_RATE = OKE_API.G_MISS_NUM THEN
2545 l_cle_rec.PROGRESS_PAYMENT_RATE := NULL;
2546 END IF;
2547
2548 IF l_cle_rec.AWARD_FEE = OKE_API.G_MISS_NUM THEN
2549 l_cle_rec.AWARD_FEE := NULL;
2550 END IF;
2551
2552 IF l_cle_rec.AWARD_FEE_POOL_AMOUNT = OKE_API.G_MISS_NUM THEN
2553 l_cle_rec.AWARD_FEE_POOL_AMOUNT := NULL;
2554 END IF;
2555
2556 IF l_cle_rec.BASE_FEE = OKE_API.G_MISS_NUM THEN
2557 l_cle_rec.BASE_FEE := NULL;
2558 END IF;
2559
2560 IF l_cle_rec.CEILING_COST = OKE_API.G_MISS_NUM THEN
2561 l_cle_rec.CEILING_COST := NULL;
2562 END IF;
2563
2564 IF l_cle_rec.CEILING_PRICE = OKE_API.G_MISS_NUM THEN
2565 l_cle_rec.CEILING_PRICE := NULL;
2566 END IF;
2567
2568 IF l_cle_rec.COST_OVERRUN_SHARE_RATIO = OKE_API.G_MISS_CHAR THEN
2569 l_cle_rec.COST_OVERRUN_SHARE_RATIO := NULL;
2570 END IF;
2571
2572 IF l_cle_rec.COST_UNDERRUN_SHARE_RATIO = OKE_API.G_MISS_CHAR THEN
2573 l_cle_rec.COST_UNDERRUN_SHARE_RATIO := NULL;
2574 END IF;
2575
2576 IF l_cle_rec.LABOR_COST_INDEX = OKE_API.G_MISS_CHAR THEN
2577 l_cle_rec.LABOR_COST_INDEX := NULL;
2578 END IF;
2579
2580 IF l_cle_rec.MATERIAL_COST_INDEX = OKE_API.G_MISS_CHAR THEN
2581 l_cle_rec.MATERIAL_COST_INDEX := NULL;
2582 END IF;
2583
2584 IF l_cle_rec.CUSTOMERS_PERCENT_IN_ORDER = OKE_API.G_MISS_NUM THEN
2585 l_cle_rec.CUSTOMERS_PERCENT_IN_ORDER := NULL;
2586 END IF;
2587
2588 IF l_cle_rec.DATE_OF_PRICE_REDETERMIN = OKE_API.G_MISS_DATE THEN
2589 l_cle_rec.DATE_OF_PRICE_REDETERMIN := NULL;
2590 END IF;
2591
2592 IF l_cle_rec.ESTIMATED_TOTAL_QUANTITY = OKE_API.G_MISS_NUM THEN
2593 l_cle_rec.ESTIMATED_TOTAL_QUANTITY := NULL;
2594 END IF;
2595
2596 IF l_cle_rec.FEE_AJT_FORMULA = OKE_API.G_MISS_CHAR THEN
2597 l_cle_rec.FEE_AJT_FORMULA := NULL;
2598 END IF;
2599
2600 IF l_cle_rec.FINAL_FEE = OKE_API.G_MISS_NUM THEN
2601 l_cle_rec.FINAL_FEE := NULL;
2602 END IF;
2603
2604 IF l_cle_rec.FINAL_PFT_AJT_FORMULA = OKE_API.G_MISS_CHAR THEN
2605 l_cle_rec.FINAL_PFT_AJT_FORMULA := NULL;
2606 END IF;
2607
2608 IF l_cle_rec.FIXED_FEE = OKE_API.G_MISS_NUM THEN
2609 l_cle_rec.FIXED_FEE := NULL;
2610 END IF;
2611
2612 IF l_cle_rec.FIXED_QUANTITY = OKE_API.G_MISS_NUM THEN
2613 l_cle_rec.FIXED_QUANTITY := NULL;
2614 END IF;
2615
2616 IF l_cle_rec.INITIAL_FEE = OKE_API.G_MISS_NUM THEN
2617 l_cle_rec.INITIAL_FEE := NULL;
2618 END IF;
2619
2620 IF l_cle_rec.INITIAL_PRICE = OKE_API.G_MISS_NUM THEN
2621 l_cle_rec.INITIAL_PRICE := NULL;
2622 END IF;
2623
2624 IF l_cle_rec.LEVEL_OF_EFFORT_HOURS = OKE_API.G_MISS_NUM THEN
2625 l_cle_rec.LEVEL_OF_EFFORT_HOURS := NULL;
2626 END IF;
2627
2628 IF l_cle_rec.LINE_LIQUIDATION_RATE = OKE_API.G_MISS_NUM THEN
2629 l_cle_rec.LINE_LIQUIDATION_RATE := NULL;
2630 END IF;
2631
2632 IF l_cle_rec.MAXIMUM_FEE = OKE_API.G_MISS_NUM THEN
2633 l_cle_rec.MAXIMUM_FEE := NULL;
2634 END IF;
2635
2636 IF l_cle_rec.MAXIMUM_QUANTITY = OKE_API.G_MISS_NUM THEN
2637 l_cle_rec.MAXIMUM_QUANTITY := NULL;
2638 END IF;
2639
2640 IF l_cle_rec.MINIMUM_FEE = OKE_API.G_MISS_NUM THEN
2641 l_cle_rec.MINIMUM_FEE := NULL;
2642 END IF;
2643
2644
2645 IF l_cle_rec.MINIMUM_QUANTITY = OKE_API.G_MISS_NUM THEN
2646 l_cle_rec.MINIMUM_QUANTITY := NULL;
2647 END IF;
2648
2649 IF l_cle_rec.NUMBER_OF_OPTIONS = OKE_API.G_MISS_NUM THEN
2650 l_cle_rec.NUMBER_OF_OPTIONS := NULL;
2651 END IF;
2652
2653 IF l_cle_rec.REVISED_PRICE = OKE_API.G_MISS_NUM THEN
2654 l_cle_rec.REVISED_PRICE := NULL;
2655 END IF;
2656
2657 IF l_cle_rec.TARGET_COST = OKE_API.G_MISS_NUM THEN
2658 l_cle_rec.TARGET_COST := NULL;
2659 END IF;
2660
2661 IF l_cle_rec.TARGET_DATE_DEFINITIZE = OKE_API.G_MISS_DATE THEN
2662 l_cle_rec.TARGET_DATE_DEFINITIZE := NULL;
2663 END IF;
2664
2665 IF l_cle_rec.TARGET_FEE = OKE_API.G_MISS_NUM THEN
2666 l_cle_rec.TARGET_FEE := NULL;
2667 END IF;
2668
2669 IF l_cle_rec.TARGET_PRICE = OKE_API.G_MISS_NUM THEN
2670 l_cle_rec.TARGET_PRICE := NULL;
2671 END IF;
2672
2673 IF l_cle_rec.TOTAL_ESTIMATED_COST = OKE_API.G_MISS_NUM THEN
2674 l_cle_rec.TOTAL_ESTIMATED_COST := NULL;
2675 END IF;
2676
2677 IF l_cle_rec.CREATED_BY = OKE_API.G_MISS_NUM THEN
2678 l_cle_rec.CREATED_BY := NULL;
2679 END IF;
2680
2681 IF l_cle_rec.CREATION_DATE = OKE_API.G_MISS_DATE THEN
2682 l_cle_rec.CREATION_DATE := NULL;
2683 END IF;
2684
2685 IF l_cle_rec.LAST_UPDATED_BY = OKE_API.G_MISS_NUM THEN
2686 l_cle_rec.LAST_UPDATED_BY := NULL;
2687 END IF;
2688
2689 IF l_cle_rec.LAST_UPDATE_LOGIN = OKE_API.G_MISS_NUM THEN
2690 l_cle_rec.LAST_UPDATE_LOGIN := NULL;
2691 END IF;
2692
2693 IF l_cle_rec.LAST_UPDATE_DATE = OKE_API.G_MISS_DATE THEN
2694 l_cle_rec.LAST_UPDATE_DATE := NULL;
2695 END IF;
2696
2697 IF l_cle_rec.COST_OF_SALE_RATE = OKE_API.G_MISS_NUM THEN
2698 l_cle_rec.COST_OF_SALE_RATE := NULL;
2699 END IF;
2700
2701
2702 RETURN(l_cle_rec);
2703
2704 END null_out_defaults;
2705
2706 -- validate attributes
2707
2708 FUNCTION validate_attributes(
2709 p_cle_rec IN cle_rec_type
2710 ) RETURN VARCHAR2 IS
2711
2712 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
2713 x_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
2714
2715 BEGIN
2716 /* call individual validation procedure */
2717 validate_parent_line_id(
2718 p_cle_rec => p_cle_rec,
2719 x_return_status => l_return_status);
2720
2721 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2722 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2723 x_return_status := l_return_status;
2724 End If;
2725 End If;
2726
2727 validate_project_id(
2728 p_cle_rec => p_cle_rec,
2729 x_return_status => l_return_status);
2730
2731 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2732 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2733 x_return_status := l_return_status;
2734 End If;
2735 End If;
2736
2737 validate_task_id(
2738 p_cle_rec => p_cle_rec,
2739 x_return_status => l_return_status);
2740
2741 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2742 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2743 x_return_status := l_return_status;
2744 End If;
2745 End If;
2746
2747 validate_inventory_item_id(
2748 p_cle_rec => p_cle_rec,
2749 x_return_status => l_return_status);
2750
2751 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2752 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2753 x_return_status := l_return_status;
2754 End If;
2755 End If;
2756
2757 validate_customer_item_id(
2758 p_cle_rec => p_cle_rec,
2759 x_return_status => l_return_status);
2760
2761 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2762 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2763 x_return_status := l_return_status;
2764 End If;
2765 End If;
2766
2767 validate_billing_method_code(
2768 p_cle_rec => p_cle_rec,
2769 x_return_status => l_return_status);
2770
2771 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2772 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2773 x_return_status := l_return_status;
2774 End If;
2775 End If;
2776
2777
2778 validate_country_code(
2779 p_cle_rec => p_cle_rec,
2780 x_return_status => l_return_status);
2781
2782 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2783 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2784 x_return_status := l_return_status;
2785 End If;
2786 End If;
2787
2788
2789 validate_priority_code(
2790 p_cle_rec => p_cle_rec,
2791 x_return_status => l_return_status);
2792
2793 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2794 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2795 x_return_status := l_return_status;
2796 End If;
2797 End If;
2798
2799
2800
2801 validate_uom_code(
2802 p_cle_rec => p_cle_rec,
2803 x_return_status => l_return_status);
2804
2805 If l_return_status <> OKE_API.G_RET_STS_SUCCESS Then
2806 If x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
2807 x_return_status := l_return_status;
2808 End If;
2809 End If;
2810
2811
2812
2813 validate_progress_payment_liq(x_return_status => l_return_status,
2814 p_cle_rec => p_cle_rec);
2815 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2816 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2817 x_return_status := l_return_status;
2818 END IF;
2819 END IF;
2820
2821 validate_progress_payment_rate(x_return_status => l_return_status,
2822 p_cle_rec => p_cle_rec);
2823 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2824 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2825 x_return_status := l_return_status;
2826 END IF;
2827 END IF;
2828
2829 validate_line_liquidation_rate(x_return_status => l_return_status,
2830 p_cle_rec => p_cle_rec);
2831 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2832 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2833 x_return_status := l_return_status;
2834 END IF;
2835 END IF;
2836
2837
2838 validate_billable_flag(x_return_status => l_return_status,
2839 p_cle_rec => p_cle_rec);
2840 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2841 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2842 x_return_status := l_return_status;
2843 END IF;
2844 END IF;
2845
2846 validate_shippable_flag(x_return_status => l_return_status,
2847 p_cle_rec => p_cle_rec);
2848 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2849 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2850 x_return_status := l_return_status;
2851 END IF;
2852 END IF;
2853
2854 validate_subcontracted_flag(x_return_status => l_return_status,
2855 p_cle_rec => p_cle_rec);
2856 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2857 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2858 x_return_status := l_return_status;
2859 END IF;
2860 END IF;
2861
2862 validate_delivery_order_flag(x_return_status => l_return_status,
2863 p_cle_rec => p_cle_rec);
2864 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2865 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2866 x_return_status := l_return_status;
2867 END IF;
2868 END IF;
2869
2870 validate_splited_flag(x_return_status => l_return_status,
2871 p_cle_rec => p_cle_rec);
2872 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2873 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2874 x_return_status := l_return_status;
2875 END IF;
2876 END IF;
2877
2878 validate_completed_flag(x_return_status => l_return_status,
2879 p_cle_rec => p_cle_rec);
2880 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2881 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2882 x_return_status := l_return_status;
2883 END IF;
2884 END IF;
2885
2886 validate_nsp_flag(x_return_status => l_return_status,
2887 p_cle_rec => p_cle_rec);
2888 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2889 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2890 x_return_status := l_return_status;
2891 END IF;
2892 END IF;
2893
2894 validate_drop_shipped_flag(x_return_status => l_return_status,
2895 p_cle_rec => p_cle_rec);
2896 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2897 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2898 x_return_status := l_return_status;
2899 END IF;
2900 END IF;
2901
2902 validate_customer_approval_req(x_return_status => l_return_status,
2903 p_cle_rec => p_cle_rec);
2904 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2905 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2906 x_return_status := l_return_status;
2907 END IF;
2908 END IF;
2909
2910 validate_inspection_req_flag(x_return_status => l_return_status,
2911 p_cle_rec => p_cle_rec);
2912 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2913 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2914 x_return_status := l_return_status;
2915 END IF;
2916 END IF;
2917
2918 validate_interim_rpt_req_flag(x_return_status => l_return_status,
2919 p_cle_rec => p_cle_rec);
2920 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2921 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2922 x_return_status := l_return_status;
2923 END IF;
2924 END IF;
2925
2926 validate_subj_a133_flag(x_return_status => l_return_status,
2927 p_cle_rec => p_cle_rec);
2928 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2929 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2930 x_return_status := l_return_status;
2931 END IF;
2932 END IF;
2933
2934 validate_export_flag(x_return_status => l_return_status,
2935 p_cle_rec => p_cle_rec);
2936 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2937 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2938 x_return_status := l_return_status;
2939 END IF;
2940 END IF;
2941
2942 validate_cfe_req_flag(x_return_status => l_return_status,
2943 p_cle_rec => p_cle_rec);
2944 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2945 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2946 x_return_status := l_return_status;
2947 END IF;
2948 END IF;
2949
2950 validate_cop_required_flag(x_return_status => l_return_status,
2951 p_cle_rec => p_cle_rec);
2952 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2953 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2954 x_return_status := l_return_status;
2955 END IF;
2956 END IF;
2957
2958 validate_dcaa_audit_req_flag(x_return_status => l_return_status,
2959 p_cle_rec => p_cle_rec);
2960 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2961 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2962 x_return_status := l_return_status;
2963 END IF;
2964 END IF;
2965
2966 validate_definitized_flag(x_return_status => l_return_status,
2967 p_cle_rec => p_cle_rec);
2968 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2969 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2970 x_return_status := l_return_status;
2971 END IF;
2972 END IF;
2973
2974 validate_bill_undefinitized(x_return_status => l_return_status,
2975 p_cle_rec => p_cle_rec);
2976 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2977 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2978 x_return_status := l_return_status;
2979 END IF;
2980 END IF;
2981
2982 validate_nte_warning_flag(x_return_status => l_return_status,
2983 p_cle_rec => p_cle_rec);
2984 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2985 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2986 x_return_status := l_return_status;
2987 END IF;
2988 END IF;
2989
2990 validate_financial_ctrl_flag(x_return_status => l_return_status,
2991 p_cle_rec => p_cle_rec);
2992 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
2993 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
2994 x_return_status := l_return_status;
2995 END IF;
2996 END IF;
2997
2998 validate_c_scs_flag(x_return_status => l_return_status,
2999 p_cle_rec => p_cle_rec);
3000 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
3001 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
3002 x_return_status := l_return_status;
3003 END IF;
3004 END IF;
3005
3006 validate_c_ssr_flag(x_return_status => l_return_status,
3007 p_cle_rec => p_cle_rec);
3008 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
3009 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
3010 x_return_status := l_return_status;
3011 END IF;
3012 END IF;
3013
3014 validate_progress_payment_flag(x_return_status => l_return_status,
3015 p_cle_rec => p_cle_rec);
3016 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
3017 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
3018 x_return_status := l_return_status;
3019 END IF;
3020 END IF;
3021
3022 validate_cost_of_money(x_return_status => l_return_status,
3023 p_cle_rec => p_cle_rec);
3024 IF l_return_status <> OKE_API.G_RET_STS_SUCCESS THEN
3025 IF x_return_status <> OKE_API.G_RET_STS_UNEXP_ERROR THEN
3026 x_return_status := l_return_status;
3027 END IF;
3028 END IF;
3029
3030
3031
3032
3033
3034
3035 RETURN(x_return_status);
3036
3037 exception
3038 when OTHERS then
3039 -- store SQL error message on message stack
3040 OKC_API.SET_MESSAGE(p_app_name => g_app_name,
3041 p_msg_name => g_unexpected_error,
3042 p_token1 => g_sqlcode_token,
3043 p_token1_value => sqlcode,
3044 p_token2 => g_sqlerrm_token,
3045 p_token2_value => sqlerrm);
3046
3047 -- notify caller of an UNEXPETED error
3048 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3049
3050 -- return status to caller
3051 RETURN(x_return_status);
3052
3053 END Validate_Attributes;
3054
3055
3056 -- validate record
3057
3058
3059 PROCEDURE validate_qty_price_value (
3060 p_cle_rec IN cle_rec_type,
3061 x_return_status OUT NOCOPY VARCHAR2
3062 ) IS
3063
3064 BEGIN
3065 x_return_status := OKE_API.G_RET_STS_SUCCESS;
3066
3067 If (p_cle_rec.line_quantity <> OKE_API.G_MISS_NUM and
3068 p_cle_rec.line_quantity IS NOT NULL
3069 AND p_cle_rec.unit_price <> OKE_API.G_MISS_NUM and
3070 p_cle_rec.unit_price IS NOT NULL
3071 AND p_cle_rec.line_value <> OKE_API.G_MISS_NUM and
3072 p_cle_rec.line_value IS NOT NULL)
3073
3074 THEN
3075
3076 If (p_cle_rec.line_value <> (p_cle_rec.unit_price * p_cle_rec.line_quantity)) Then
3077 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
3078 p_msg_name => 'OKE_LINE_VALUE_MISMATCH');
3079
3080 -- notify caller of an error
3081 x_return_status := OKE_API.G_RET_STS_ERROR;
3082 End If;
3083
3084 End If;
3085 exception
3086 when OTHERS then
3087 -- store SQL error message on message stack
3088 OKE_API.SET_MESSAGE(p_app_name => g_app_name,
3089 p_msg_name => g_unexpected_error,
3090 p_token1 => g_sqlcode_token,
3091 p_token1_value => sqlcode,
3092 p_token2 => g_sqlerrm_token,
3093 p_token2_value => sqlerrm);
3094 -- notify caller of an error as UNEXPETED error
3095
3096 x_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
3097
3098 End validate_qty_price_value;
3099
3100
3101 FUNCTION validate_record (
3102 p_cle_rec IN cle_rec_type
3103 ) RETURN VARCHAR2 IS
3104 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3105 BEGIN
3106
3107 RETURN(l_return_status);
3108
3109 END validate_record;
3110
3111 -- validate row
3112
3113 PROCEDURE validate_row(
3114 p_api_version IN NUMBER,
3115 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
3116 x_return_status OUT NOCOPY VARCHAR2,
3117 x_msg_count OUT NOCOPY NUMBER,
3118 x_msg_data OUT NOCOPY VARCHAR2,
3119 p_cle_rec IN cle_rec_type
3120 ) IS
3121
3122 l_api_version CONSTANT NUMBER := 1;
3123 l_api_name CONSTANT VARCHAR2(30) := 'B_validate_row';
3124 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3125 l_cle_rec cle_rec_type := p_cle_rec;
3126
3127 BEGIN
3128 l_return_status := OKE_API.START_ACTIVITY(l_api_name,
3129 G_PKG_NAME,
3130 p_init_msg_list,
3131 l_api_version,
3132 p_api_version,
3133 '_PVT',
3134 x_return_status);
3135 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3136 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3137 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3138
3139 RAISE OKE_API.G_EXCEPTION_ERROR;
3140 END IF;
3141 --- Validate all non-missing attributes (Item Level Validation)
3142 l_return_status := Validate_Attributes(l_cle_rec);
3143 --- If any errors happen abort API
3144 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3145 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3146 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3147 RAISE OKE_API.G_EXCEPTION_ERROR;
3148 END IF;
3149 l_return_status := Validate_Record(l_cle_rec);
3150
3151 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3152 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3153 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3154 RAISE OKE_API.G_EXCEPTION_ERROR;
3155 END IF;
3156 OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
3157 EXCEPTION
3158 WHEN OKE_API.G_EXCEPTION_ERROR THEN
3159 x_return_status := OKE_API.HANDLE_EXCEPTIONS
3160 (
3161 l_api_name,
3162 G_PKG_NAME,
3163 'OKE_API.G_RET_STS_ERROR',
3164 x_msg_count,
3165 x_msg_data,
3166 '_PVT'
3167 );
3168 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3169 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3170 (
3171 l_api_name,
3172 G_PKG_NAME,
3173 'OKE_API.G_RET_STS_UNEXP_ERROR',
3174 x_msg_count,
3175 x_msg_data,
3176 '_PVT'
3177 );
3178 WHEN OTHERS THEN
3179 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3180 (
3181 l_api_name,
3182 G_PKG_NAME,
3183 'OTHERS',
3184 x_msg_count,
3185 x_msg_data,
3186 '_PVT'
3187 );
3188 END validate_row;
3189
3190 PROCEDURE validate_row(
3191 p_api_version IN NUMBER,
3192 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
3193 x_return_status OUT NOCOPY VARCHAR2,
3194 x_msg_count OUT NOCOPY NUMBER,
3195 x_msg_data OUT NOCOPY VARCHAR2,
3196 p_cle_tbl IN cle_tbl_type
3197 ) IS
3198
3199 l_api_version CONSTANT NUMBER := 1;
3200 l_api_name CONSTANT VARCHAR2(30) := 'TBL_validate_row';
3201 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3202 l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3203 i NUMBER := 0;
3204 BEGIN
3205 OKE_API.init_msg_list(p_init_msg_list);
3206 -- Make sure PL/SQL table has records in it before passing
3207 IF (p_cle_tbl.COUNT > 0) THEN
3208 i := p_cle_tbl.FIRST;
3209 LOOP
3210 validate_row (
3211 p_api_version => p_api_version,
3212 p_init_msg_list => OKE_API.G_FALSE,
3213 x_return_status => x_return_status,
3214 x_msg_count => x_msg_count,
3215 x_msg_data => x_msg_data,
3216 p_cle_rec => p_cle_tbl(i));
3217
3218 -- store the highest degree of error
3219 If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
3220 If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
3221 l_overall_status := x_return_status;
3222 End If;
3223 End If;
3224
3225 EXIT WHEN (i = p_cle_tbl.LAST);
3226 i := p_cle_tbl.NEXT(i);
3227 END LOOP;
3228 -- return overall status
3229 x_return_status := l_overall_status;
3230 END IF;
3231
3232 EXCEPTION
3233 WHEN OKE_API.G_EXCEPTION_ERROR THEN
3234 x_return_status := OKE_API.HANDLE_EXCEPTIONS
3235 (
3236 l_api_name,
3237 G_PKG_NAME,
3238 'OKE_API.G_RET_STS_ERROR',
3239 x_msg_count,
3240 x_msg_data,
3241 '_PVT'
3242 );
3243 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3244 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3245 (
3246 l_api_name,
3247 G_PKG_NAME,
3248 'OKE_API.G_RET_STS_UNEXP_ERROR',
3249 x_msg_count,
3250 x_msg_data,
3251 '_PVT'
3252 );
3253 WHEN OTHERS THEN
3254 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3255 (
3256 l_api_name,
3257 G_PKG_NAME,
3258 'OTHERS',
3259 x_msg_count,
3260 x_msg_data,
3261 '_PVT'
3262 );
3263 END validate_row;
3264
3265 -- insert data into oke_k_lines
3266
3267 PROCEDURE insert_row(
3268 p_api_version IN NUMBER,
3269 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
3270 x_return_status OUT NOCOPY VARCHAR2,
3271 x_msg_count OUT NOCOPY NUMBER,
3272 x_msg_data OUT NOCOPY VARCHAR2,
3273 p_cle_rec IN cle_rec_type,
3274 x_cle_rec OUT NOCOPY cle_rec_type) IS
3275
3276 l_api_version CONSTANT NUMBER := 1;
3277 l_api_name CONSTANT VARCHAR2(30) := 'B_insert_row';
3278 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3279 l_cle_rec cle_rec_type;
3280 l_def_cle_rec cle_rec_type;
3281 lx_cle_rec cle_rec_type;
3282
3283 -- FUNCTION fill_who_columns --
3284 -------------------------------
3285 FUNCTION fill_who_columns (
3286 p_cle_rec IN cle_rec_type
3287 ) RETURN cle_rec_type IS
3288
3289 l_cle_rec cle_rec_type := p_cle_rec;
3290
3291 BEGIN
3292
3293 l_cle_rec.CREATION_DATE := SYSDATE;
3294 l_cle_rec.CREATED_BY := FND_GLOBAL.USER_ID;
3295 l_cle_rec.LAST_UPDATE_DATE := SYSDATE;
3296 l_cle_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3297 l_cle_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3298 RETURN(l_cle_rec);
3299
3300 END fill_who_columns;
3301
3302 -- Set_Attributes for:OKE_K_LINES
3303
3304
3305 FUNCTION Set_Attributes (
3306 p_cle_rec IN cle_rec_type,
3307 x_cle_rec OUT NOCOPY cle_rec_type
3308 ) RETURN VARCHAR2 IS
3309 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3310 BEGIN
3311
3312 x_cle_rec := p_cle_rec;
3313 x_cle_rec.BILLABLE_FLAG := UPPER(x_cle_rec.BILLABLE_FLAG);
3314 x_cle_rec.SHIPPABLE_FLAG := UPPER(x_cle_rec.SHIPPABLE_FLAG);
3315 x_cle_rec.SUBCONTRACTED_FLAG := UPPER(x_cle_rec.SUBCONTRACTED_FLAG);
3316 x_cle_rec.DELIVERY_ORDER_FLAG := UPPER(x_cle_rec.DELIVERY_ORDER_FLAG);
3317 x_cle_rec.SPLITED_FLAG := UPPER(x_cle_rec.SPLITED_FLAG);
3318 x_cle_rec.COMPLETED_FLAG := UPPER(x_cle_rec.COMPLETED_FLAG);
3319 x_cle_rec.NSP_FLAG := UPPER(x_cle_rec.NSP_FLAG);
3320 x_cle_rec.DROP_SHIPPED_FLAG := UPPER(x_cle_rec.DROP_SHIPPED_FLAG);
3321 x_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG := UPPER(x_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG);
3322 x_cle_rec.INSPECTION_REQ_FLAG := UPPER(x_cle_rec.INSPECTION_REQ_FLAG);
3323 x_cle_rec.INTERIM_RPT_REQ_FLAG := UPPER(x_cle_rec.INTERIM_RPT_REQ_FLAG);
3324 x_cle_rec.SUBJ_A133_FLAG := UPPER(x_cle_rec.SUBJ_A133_FLAG);
3325 x_cle_rec.EXPORT_FLAG := UPPER(x_cle_rec.EXPORT_FLAG);
3326 x_cle_rec.CFE_REQ_FLAG := UPPER(x_cle_rec.CFE_REQ_FLAG);
3327 x_cle_rec.COP_REQUIRED_FLAG := UPPER(x_cle_rec.COP_REQUIRED_FLAG);
3328 x_cle_rec.DCAA_AUDIT_REQ_FLAG := UPPER(x_cle_rec.DCAA_AUDIT_REQ_FLAG);
3329 x_cle_rec.DEFINITIZED_FLAG := UPPER(x_cle_rec.DEFINITIZED_FLAG);
3330 x_cle_rec.COST_OF_MONEY := UPPER(x_cle_rec.COST_OF_MONEY);
3331 x_cle_rec.BILL_UNDEFINITIZED_FLAG := UPPER(x_cle_rec.BILL_UNDEFINITIZED_FLAG);
3332 x_cle_rec.NTE_WARNING_FLAG := UPPER(x_cle_rec.NTE_WARNING_FLAG);
3333 x_cle_rec.FINANCIAL_CTRL_FLAG := UPPER(x_cle_rec.FINANCIAL_CTRL_FLAG);
3334 x_cle_rec.C_SCS_FLAG := UPPER(x_cle_rec.C_SCS_FLAG);
3335 x_cle_rec.C_SSR_FLAG := UPPER(x_cle_rec.C_SSR_FLAG);
3336 x_cle_rec.PROGRESS_PAYMENT_FLAG := UPPER(x_cle_rec.PROGRESS_PAYMENT_FLAG);
3337
3338 RETURN(l_return_status);
3339
3340 END Set_Attributes;
3341
3342 BEGIN
3343
3344 l_return_status := OKE_API.START_ACTIVITY(l_api_name,
3345 G_PKG_NAME,
3346 p_init_msg_list,
3347 l_api_version,
3348 p_api_version,
3349 '_PVT',
3350 x_return_status);
3351
3352
3353 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3354 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3355 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3356 RAISE OKE_API.G_EXCEPTION_ERROR;
3357 END IF;
3358
3359 l_cle_rec := null_out_defaults(p_cle_rec);
3360
3361 --- Setting item attributes
3362 l_return_status := Set_Attributes(
3363 l_cle_rec, -- IN
3364 l_def_cle_rec); -- OUT
3365
3366 --- If any errors happen abort API
3367 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3368 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3369 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3370 RAISE OKE_API.G_EXCEPTION_ERROR;
3371 END IF;
3372
3373 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3374 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3375 END IF;
3376
3377 l_def_cle_rec := fill_who_columns(l_def_cle_rec);
3378
3379
3380 --- Validate all non-missing attributes (Item Level Validation)
3381 l_return_status := Validate_Attributes(l_def_cle_rec);
3382
3383 --- If any errors happen abort API
3384 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3385 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3386
3387 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3388 RAISE OKE_API.G_EXCEPTION_ERROR;
3389 END IF;
3390
3391
3392 l_return_status := Validate_Record(l_def_cle_rec);
3393
3394 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
3395 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
3396 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
3397 RAISE OKE_API.G_EXCEPTION_ERROR;
3398 END IF;
3399
3400 INSERT INTO OKE_K_LINES(
3401 K_LINE_ID ,
3402 PARENT_LINE_ID ,
3403 PROJECT_ID ,
3404 TASK_ID ,
3405 BILLING_METHOD_CODE ,
3406 INVENTORY_ITEM_ID ,
3407 DELIVERY_ORDER_FLAG ,
3408 SPLITED_FLAG ,
3409 PRIORITY_CODE ,
3410 CUSTOMER_ITEM_ID ,
3411 CUSTOMER_ITEM_NUMBER ,
3412 LINE_QUANTITY ,
3413 DELIVERY_DATE ,
3414 PROPOSAL_DUE_DATE ,
3415 UNIT_PRICE ,
3416 UOM_CODE ,
3417 LINE_VALUE ,
3418 LINE_VALUE_TOTAL ,
3419 UNDEF_UNIT_PRICE ,
3420 UNDEF_LINE_VALUE ,
3421 UNDEF_LINE_VALUE_TOTAL ,
3422 END_DATE ,
3423 BILLABLE_FLAG ,
3424 SHIPPABLE_FLAG ,
3425 SUBCONTRACTED_FLAG ,
3426 COMPLETED_FLAG ,
3427 NSP_FLAG ,
3428 APP_CODE ,
3429 AS_OF_DATE ,
3430 AUTHORITY ,
3431 COUNTRY_OF_ORIGIN_CODE ,
3432 DROP_SHIPPED_FLAG ,
3433 CUSTOMER_APPROVAL_REQ_FLAG ,
3434 DATE_MATERIAL_REQ ,
3435 INSPECTION_REQ_FLAG ,
3436 INTERIM_RPT_REQ_FLAG ,
3437 SUBJ_A133_FLAG ,
3438 EXPORT_FLAG ,
3439 CFE_REQ_FLAG ,
3440 COP_REQUIRED_FLAG ,
3441 EXPORT_LICENSE_NUM ,
3442 EXPORT_LICENSE_RES ,
3443 COPIES_REQUIRED ,
3444 CDRL_CATEGORY ,
3445 DATA_ITEM_NAME ,
3446 DATA_ITEM_SUBTITLE ,
3447 DATE_OF_FIRST_SUBMISSION ,
3448 FREQUENCY ,
3449 REQUIRING_OFFICE ,
3450 DCAA_AUDIT_REQ_FLAG ,
3451 DEFINITIZED_FLAG ,
3452 COST_OF_MONEY ,
3453 BILL_UNDEFINITIZED_FLAG ,
3454 NSN_NUMBER ,
3455 NTE_WARNING_FLAG ,
3456 DISCOUNT_FOR_PAYMENT ,
3457 FINANCIAL_CTRL_FLAG ,
3458 C_SCS_FLAG ,
3459 C_SSR_FLAG ,
3460 PREPAYMENT_AMOUNT ,
3461 PREPAYMENT_PERCENTAGE ,
3462 PROGRESS_PAYMENT_FLAG ,
3463 PROGRESS_PAYMENT_LIQ_RATE ,
3464 PROGRESS_PAYMENT_RATE ,
3465 AWARD_FEE ,
3466 AWARD_FEE_POOL_AMOUNT ,
3467 BASE_FEE ,
3468 CEILING_COST ,
3469 CEILING_PRICE ,
3470 COST_OVERRUN_SHARE_RATIO ,
3471 COST_UNDERRUN_SHARE_RATIO ,
3472 LABOR_COST_INDEX ,
3473 MATERIAL_COST_INDEX ,
3474 CUSTOMERS_PERCENT_IN_ORDER ,
3475 DATE_OF_PRICE_REDETERMIN ,
3476 ESTIMATED_TOTAL_QUANTITY ,
3477 FEE_AJT_FORMULA ,
3478 FINAL_FEE ,
3479 FINAL_PFT_AJT_FORMULA ,
3480 FIXED_FEE ,
3481 FIXED_QUANTITY ,
3482 INITIAL_FEE ,
3483 INITIAL_PRICE ,
3484 LEVEL_OF_EFFORT_HOURS ,
3485 LINE_LIQUIDATION_RATE ,
3486 MAXIMUM_FEE ,
3487 MAXIMUM_QUANTITY ,
3488 MINIMUM_FEE ,
3489 MINIMUM_QUANTITY ,
3490 NUMBER_OF_OPTIONS ,
3491 REVISED_PRICE ,
3492 TARGET_COST ,
3493 TARGET_DATE_DEFINITIZE ,
3494 TARGET_FEE ,
3495 TARGET_PRICE ,
3496 TOTAL_ESTIMATED_COST ,
3497 CREATED_BY ,
3498 CREATION_DATE ,
3499 LAST_UPDATED_BY ,
3500 LAST_UPDATE_LOGIN ,
3501 LAST_UPDATE_DATE ,
3502 COST_OF_SALE_RATE)
3503 VALUES(
3504 l_def_cle_rec.K_LINE_ID ,
3505 l_def_cle_rec.PARENT_LINE_ID ,
3506 l_def_cle_rec.PROJECT_ID ,
3507 l_def_cle_rec.TASK_ID ,
3508 l_def_cle_rec.BILLING_METHOD_CODE ,
3509 l_def_cle_rec.INVENTORY_ITEM_ID ,
3510 l_def_cle_rec.DELIVERY_ORDER_FLAG ,
3511 l_def_cle_rec.SPLITED_FLAG ,
3512 l_def_cle_rec.PRIORITY_CODE ,
3513 l_def_cle_rec.CUSTOMER_ITEM_ID ,
3514 l_def_cle_rec.CUSTOMER_ITEM_NUMBER ,
3515 l_def_cle_rec.LINE_QUANTITY ,
3516 l_def_cle_rec.DELIVERY_DATE ,
3517 l_def_cle_rec.PROPOSAL_DUE_DATE ,
3518 l_def_cle_rec.UNIT_PRICE ,
3519 l_def_cle_rec.UOM_CODE ,
3520 l_def_cle_rec.LINE_VALUE ,
3521 l_def_cle_rec.LINE_VALUE_TOTAL ,
3522 l_def_cle_rec.UNDEF_UNIT_PRICE ,
3523 l_def_cle_rec.UNDEF_LINE_VALUE ,
3524 l_def_cle_rec.UNDEF_LINE_VALUE_TOTAL ,
3525 l_def_cle_rec.END_DATE ,
3526 l_def_cle_rec.BILLABLE_FLAG ,
3527 l_def_cle_rec.SHIPPABLE_FLAG ,
3528 l_def_cle_rec.SUBCONTRACTED_FLAG ,
3529 l_def_cle_rec.COMPLETED_FLAG ,
3530 l_def_cle_rec.NSP_FLAG ,
3531 l_def_cle_rec.APP_CODE ,
3532 l_def_cle_rec.AS_OF_DATE ,
3533 l_def_cle_rec.AUTHORITY ,
3534 l_def_cle_rec.COUNTRY_OF_ORIGIN_CODE ,
3535 l_def_cle_rec.DROP_SHIPPED_FLAG ,
3536 l_def_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG ,
3537 l_def_cle_rec.DATE_MATERIAL_REQ ,
3538 l_def_cle_rec.INSPECTION_REQ_FLAG ,
3539 l_def_cle_rec.INTERIM_RPT_REQ_FLAG ,
3540 l_def_cle_rec.SUBJ_A133_FLAG ,
3541 l_def_cle_rec.EXPORT_FLAG ,
3542 l_def_cle_rec.CFE_REQ_FLAG ,
3543 l_def_cle_rec.COP_REQUIRED_FLAG ,
3544 l_def_cle_rec.EXPORT_LICENSE_NUM ,
3545 l_def_cle_rec.EXPORT_LICENSE_RES ,
3546 l_def_cle_rec.COPIES_REQUIRED ,
3547 l_def_cle_rec.CDRL_CATEGORY ,
3548 l_def_cle_rec.DATA_ITEM_NAME ,
3549 l_def_cle_rec.DATA_ITEM_SUBTITLE ,
3550 l_def_cle_rec.DATE_OF_FIRST_SUBMISSION ,
3551 l_def_cle_rec.FREQUENCY ,
3552 l_def_cle_rec.REQUIRING_OFFICE ,
3553 l_def_cle_rec.DCAA_AUDIT_REQ_FLAG ,
3554 l_def_cle_rec.DEFINITIZED_FLAG ,
3555 l_def_cle_rec.COST_OF_MONEY ,
3556 l_def_cle_rec.BILL_UNDEFINITIZED_FLAG ,
3557 l_def_cle_rec.NSN_NUMBER ,
3558 l_def_cle_rec.NTE_WARNING_FLAG ,
3559 l_def_cle_rec.DISCOUNT_FOR_PAYMENT ,
3560 l_def_cle_rec.FINANCIAL_CTRL_FLAG ,
3561 l_def_cle_rec.C_SCS_FLAG ,
3562 l_def_cle_rec.C_SSR_FLAG ,
3563 l_def_cle_rec.PREPAYMENT_AMOUNT ,
3564 l_def_cle_rec.PREPAYMENT_PERCENTAGE ,
3565 l_def_cle_rec.PROGRESS_PAYMENT_FLAG ,
3566 l_def_cle_rec.PROGRESS_PAYMENT_LIQ_RATE ,
3567 l_def_cle_rec.PROGRESS_PAYMENT_RATE ,
3568 l_def_cle_rec.AWARD_FEE ,
3569 l_def_cle_rec.AWARD_FEE_POOL_AMOUNT ,
3570 l_def_cle_rec.BASE_FEE ,
3571 l_def_cle_rec.CEILING_COST ,
3572 l_def_cle_rec.CEILING_PRICE ,
3573 l_def_cle_rec.COST_OVERRUN_SHARE_RATIO ,
3574 l_def_cle_rec.COST_UNDERRUN_SHARE_RATIO ,
3575 l_def_cle_rec.LABOR_COST_INDEX ,
3576 l_def_cle_rec.MATERIAL_COST_INDEX ,
3577 l_def_cle_rec.CUSTOMERS_PERCENT_IN_ORDER ,
3578 l_def_cle_rec.DATE_OF_PRICE_REDETERMIN ,
3579 l_def_cle_rec.ESTIMATED_TOTAL_QUANTITY ,
3580 l_def_cle_rec.FEE_AJT_FORMULA ,
3581 l_def_cle_rec.FINAL_FEE ,
3582 l_def_cle_rec.FINAL_PFT_AJT_FORMULA ,
3583 l_def_cle_rec.FIXED_FEE ,
3584 l_def_cle_rec.FIXED_QUANTITY ,
3585 l_def_cle_rec.INITIAL_FEE ,
3586 l_def_cle_rec.INITIAL_PRICE ,
3587 l_def_cle_rec.LEVEL_OF_EFFORT_HOURS ,
3588 l_def_cle_rec.LINE_LIQUIDATION_RATE ,
3589 l_def_cle_rec.MAXIMUM_FEE ,
3590 l_def_cle_rec.MAXIMUM_QUANTITY ,
3591 l_def_cle_rec.MINIMUM_FEE ,
3592 l_def_cle_rec.MINIMUM_QUANTITY ,
3593 l_def_cle_rec.NUMBER_OF_OPTIONS ,
3594 l_def_cle_rec.REVISED_PRICE ,
3595 l_def_cle_rec.TARGET_COST ,
3596 l_def_cle_rec.TARGET_DATE_DEFINITIZE ,
3597 l_def_cle_rec.TARGET_FEE ,
3598 l_def_cle_rec.TARGET_PRICE ,
3599 l_def_cle_rec.TOTAL_ESTIMATED_COST ,
3600 l_def_cle_rec.CREATED_BY ,
3601 l_def_cle_rec.CREATION_DATE ,
3602 l_def_cle_rec.LAST_UPDATED_BY ,
3603 l_def_cle_rec.LAST_UPDATE_LOGIN ,
3604 l_def_cle_rec.LAST_UPDATE_DATE ,
3605 l_def_cle_rec.COST_OF_SALE_RATE);
3606
3607 -- Set OUT values
3608 x_cle_rec := l_def_cle_rec;
3609 OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
3610
3611 EXCEPTION
3612 WHEN OKE_API.G_EXCEPTION_ERROR THEN
3613 x_return_status := OKE_API.HANDLE_EXCEPTIONS
3614 (
3615 l_api_name,
3616 G_PKG_NAME,
3617 'OKE_API.G_RET_STS_ERROR',
3618 x_msg_count,
3619 x_msg_data,
3620 '_PVT'
3621 );
3622 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3623 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3624 (
3625 l_api_name,
3626 G_PKG_NAME,
3627 'OKE_API.G_RET_STS_UNEXP_ERROR',
3628 x_msg_count,
3629 x_msg_data,
3630 '_PVT'
3631 );
3632 WHEN OTHERS THEN
3633 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3634 (
3635 l_api_name,
3636 G_PKG_NAME,
3637 'OTHERS',
3638 x_msg_count,
3639 x_msg_data,
3640 '_PVT'
3641 );
3642 END insert_row;
3643
3644 PROCEDURE insert_row(
3645 p_api_version IN NUMBER,
3646 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
3647 x_return_status OUT NOCOPY VARCHAR2,
3648 x_msg_count OUT NOCOPY NUMBER,
3649 x_msg_data OUT NOCOPY VARCHAR2,
3650 p_cle_tbl IN cle_tbl_type,
3651 x_cle_tbl OUT NOCOPY cle_tbl_type) IS
3652
3653 l_api_version CONSTANT NUMBER := 1;
3654 l_api_name CONSTANT VARCHAR2(30) := 'TBL_insert_row';
3655 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3656 l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3657 i NUMBER := 0;
3658 BEGIN
3659
3660 OKE_API.init_msg_list(p_init_msg_list);
3661 -- Make sure PL/SQL table has records in it before passing
3662 IF (p_cle_tbl.COUNT > 0) THEN
3663 i := p_cle_tbl.FIRST;
3664 LOOP
3665 insert_row (
3666 p_api_version => p_api_version,
3667 p_init_msg_list => OKE_API.G_FALSE,
3668 x_return_status => x_return_status,
3669 x_msg_count => x_msg_count,
3670 x_msg_data => x_msg_data,
3671
3672 p_cle_rec => p_cle_tbl(i),
3673 x_cle_rec => x_cle_tbl(i));
3674
3675 -- store the highest degree of error
3676 If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
3677 If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
3678 l_overall_status := x_return_status;
3679 End If;
3680 End If;
3681
3682 EXIT WHEN (i = p_cle_tbl.LAST);
3683
3684 i := p_cle_tbl.NEXT(i);
3685 END LOOP;
3686 -- return overall status
3687 x_return_status := l_overall_status;
3688 END IF;
3689
3690 EXCEPTION
3691 WHEN OKE_API.G_EXCEPTION_ERROR THEN
3692 x_return_status := OKE_API.HANDLE_EXCEPTIONS
3693 (
3694 l_api_name,
3695 G_PKG_NAME,
3696 'OKE_API.G_RET_STS_ERROR',
3697 x_msg_count,
3698 x_msg_data,
3699 '_PVT'
3700 );
3701 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3702 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3703 (
3704 l_api_name,
3705 G_PKG_NAME,
3706 'OKE_API.G_RET_STS_UNEXP_ERROR',
3707 x_msg_count,
3708 x_msg_data,
3709 '_PVT'
3710 );
3711 WHEN OTHERS THEN
3712 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
3713 (
3714 l_api_name,
3715 G_PKG_NAME,
3716 'OTHERS',
3717 x_msg_count,
3718 x_msg_data,
3719 '_PVT'
3720 );
3721 END insert_row;
3722
3723 -- update oke_k_lines
3724
3725 PROCEDURE update_row(
3726 p_api_version IN NUMBER,
3727 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
3728 x_return_status OUT NOCOPY VARCHAR2,
3729 x_msg_count OUT NOCOPY NUMBER,
3730 x_msg_data OUT NOCOPY VARCHAR2,
3731 p_cle_rec IN cle_rec_type,
3732 x_cle_rec OUT NOCOPY cle_rec_type) IS
3733
3734 l_api_version CONSTANT NUMBER := 1.0;
3735 l_api_name CONSTANT VARCHAR2(30) := 'B_update_row';
3736 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3737 l_cle_rec cle_rec_type := p_cle_rec;
3738 l_def_cle_rec cle_rec_type;
3739 lx_cle_rec cle_rec_type;
3740
3741 -------------------------------
3742 -- FUNCTION fill_who_columns --
3743 -------------------------------
3744 FUNCTION fill_who_columns (
3745 p_cle_rec IN cle_rec_type
3746 ) RETURN cle_rec_type IS
3747
3748 l_cle_rec cle_rec_type := p_cle_rec;
3749
3750 BEGIN
3751 l_cle_rec.LAST_UPDATE_DATE := SYSDATE;
3752 l_cle_rec.LAST_UPDATED_BY := FND_GLOBAL.USER_ID;
3753 l_cle_rec.LAST_UPDATE_LOGIN := FND_GLOBAL.LOGIN_ID;
3754 RETURN(l_cle_rec);
3755 END fill_who_columns;
3756
3757 ----------------------------------
3758 -- FUNCTION populate_new_record --
3759 ----------------------------------
3760 FUNCTION populate_new_record (
3761 p_cle_rec IN cle_rec_type,
3762 x_cle_rec OUT NOCOPY cle_rec_type
3763 ) RETURN VARCHAR2 IS
3764
3765 l_cle_rec cle_rec_type;
3766 l_row_notfound BOOLEAN := TRUE;
3767 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
3768
3769 BEGIN
3770
3771 x_cle_rec := p_cle_rec;
3772
3773
3774 -- Get current database values
3775 l_cle_rec := get_rec(p_cle_rec, l_row_notfound);
3776
3777
3778 IF (l_row_notfound) THEN
3779 l_return_status := OKE_API.G_RET_STS_UNEXP_ERROR;
3780 END IF;
3781
3782
3783 IF x_cle_rec.PARENT_LINE_ID = OKE_API.G_MISS_NUM THEN
3784 x_cle_rec.PARENT_LINE_ID := l_cle_rec.PARENT_LINE_ID;
3785 END IF;
3786
3787 IF x_cle_rec.PROJECT_ID = OKE_API.G_MISS_NUM THEN
3788 x_cle_rec.PROJECT_ID := l_cle_rec.PROJECT_ID;
3789 END IF;
3790
3791 IF x_cle_rec.TASK_ID = OKE_API.G_MISS_NUM THEN
3792 x_cle_rec.TASK_ID := l_cle_rec.TASK_ID;
3793 END IF;
3794
3795 IF x_cle_rec.BILLING_METHOD_CODE = OKE_API.G_MISS_CHAR THEN
3796 x_cle_rec.BILLING_METHOD_CODE := l_cle_rec.BILLING_METHOD_CODE;
3797 END IF;
3798
3799 IF x_cle_rec.INVENTORY_ITEM_ID = OKE_API.G_MISS_NUM THEN
3800 x_cle_rec.INVENTORY_ITEM_ID := l_cle_rec.INVENTORY_ITEM_ID;
3801 END IF;
3802
3803 IF x_cle_rec.DELIVERY_ORDER_FLAG = OKE_API.G_MISS_CHAR THEN
3804 x_cle_rec.DELIVERY_ORDER_FLAG := l_cle_rec.DELIVERY_ORDER_FLAG;
3805 END IF;
3806
3807 IF x_cle_rec.SPLITED_FLAG = OKE_API.G_MISS_CHAR THEN
3808 x_cle_rec.SPLITED_FLAG := l_cle_rec.SPLITED_FLAG;
3809 END IF;
3810
3811 IF x_cle_rec.PRIORITY_CODE = OKE_API.G_MISS_CHAR THEN
3812 x_cle_rec.PRIORITY_CODE := l_cle_rec.PRIORITY_CODE;
3813 END IF;
3814
3815 IF x_cle_rec.CUSTOMER_ITEM_ID = OKE_API.G_MISS_NUM THEN
3816 x_cle_rec.CUSTOMER_ITEM_ID := l_cle_rec.CUSTOMER_ITEM_ID;
3817 END IF;
3818
3819 IF x_cle_rec.CUSTOMER_ITEM_NUMBER = OKE_API.G_MISS_CHAR THEN
3820 x_cle_rec.CUSTOMER_ITEM_NUMBER := l_cle_rec.CUSTOMER_ITEM_NUMBER;
3821 END IF;
3822
3823 IF x_cle_rec.LINE_QUANTITY = OKE_API.G_MISS_NUM THEN
3824 x_cle_rec.LINE_QUANTITY := l_cle_rec.LINE_QUANTITY;
3825 END IF;
3826
3827 IF x_cle_rec.DELIVERY_DATE = OKE_API.G_MISS_DATE THEN
3828 x_cle_rec.DELIVERY_DATE := l_cle_rec.DELIVERY_DATE;
3829 END IF;
3830
3831 IF x_cle_rec.PROPOSAL_DUE_DATE = OKE_API.G_MISS_CHAR THEN
3832 x_cle_rec.PROPOSAL_DUE_DATE := l_cle_rec.PROPOSAL_DUE_DATE;
3833 END IF;
3834
3835 IF x_cle_rec.UNIT_PRICE = OKE_API.G_MISS_NUM THEN
3836 x_cle_rec.UNIT_PRICE := l_cle_rec.UNIT_PRICE;
3837 END IF;
3838
3839 IF x_cle_rec.UOM_CODE = OKE_API.G_MISS_CHAR THEN
3840 x_cle_rec.UOM_CODE := l_cle_rec.UOM_CODE;
3841 END IF;
3842
3843 IF x_cle_rec.LINE_VALUE = OKE_API.G_MISS_NUM THEN
3844 x_cle_rec.LINE_VALUE := l_cle_rec.LINE_VALUE;
3845 END IF;
3846
3847 IF x_cle_rec.LINE_VALUE_TOTAL = OKE_API.G_MISS_NUM THEN
3848 x_cle_rec.LINE_VALUE_TOTAL := l_cle_rec.LINE_VALUE_TOTAL;
3849 END IF;
3850
3851 IF x_cle_rec.UNDEF_UNIT_PRICE = OKE_API.G_MISS_NUM THEN
3852 x_cle_rec.UNDEF_UNIT_PRICE := l_cle_rec.UNDEF_UNIT_PRICE;
3853 END IF;
3854
3855 IF x_cle_rec.UNDEF_LINE_VALUE = OKE_API.G_MISS_NUM THEN
3856 x_cle_rec.UNDEF_LINE_VALUE := l_cle_rec.UNDEF_LINE_VALUE;
3857 END IF;
3858
3859 IF x_cle_rec.UNDEF_LINE_VALUE_TOTAL = OKE_API.G_MISS_NUM THEN
3860 x_cle_rec.UNDEF_LINE_VALUE_TOTAL := l_cle_rec.UNDEF_LINE_VALUE_TOTAL;
3861 END IF;
3862
3863 IF x_cle_rec.END_DATE = OKE_API.G_MISS_DATE THEN
3864 x_cle_rec.END_DATE := l_cle_rec.END_DATE;
3865 END IF;
3866
3867 IF x_cle_rec.BILLABLE_FLAG = OKE_API.G_MISS_CHAR THEN
3868 x_cle_rec.BILLABLE_FLAG := l_cle_rec.BILLABLE_FLAG;
3869 END IF;
3870
3871 IF x_cle_rec.SHIPPABLE_FLAG = OKE_API.G_MISS_CHAR THEN
3872 x_cle_rec.SHIPPABLE_FLAG := l_cle_rec.SHIPPABLE_FLAG;
3873 END IF;
3874
3875 IF x_cle_rec.SUBCONTRACTED_FLAG = OKE_API.G_MISS_CHAR THEN
3876 x_cle_rec.SUBCONTRACTED_FLAG := l_cle_rec.SUBCONTRACTED_FLAG;
3877 END IF;
3878
3879 IF x_cle_rec.COMPLETED_FLAG = OKE_API.G_MISS_CHAR THEN
3880 x_cle_rec.COMPLETED_FLAG := l_cle_rec.COMPLETED_FLAG;
3881 END IF;
3882
3883 IF x_cle_rec.NSP_FLAG = OKE_API.G_MISS_CHAR THEN
3884 x_cle_rec.NSP_FLAG := l_cle_rec.NSP_FLAG;
3885 END IF;
3886
3887 IF x_cle_rec.APP_CODE = OKE_API.G_MISS_CHAR THEN
3888 x_cle_rec.APP_CODE := l_cle_rec.APP_CODE;
3889 END IF;
3890
3891 IF x_cle_rec.AS_OF_DATE = OKE_API.G_MISS_DATE THEN
3892 x_cle_rec.AS_OF_DATE := l_cle_rec.AS_OF_DATE;
3893 END IF;
3894
3895 IF x_cle_rec.AUTHORITY = OKE_API.G_MISS_CHAR THEN
3896 x_cle_rec.AUTHORITY := l_cle_rec.AUTHORITY;
3897 END IF;
3898
3899 IF x_cle_rec.COUNTRY_OF_ORIGIN_CODE = OKE_API.G_MISS_CHAR THEN
3900 x_cle_rec.COUNTRY_OF_ORIGIN_CODE := l_cle_rec.COUNTRY_OF_ORIGIN_CODE;
3901 END IF;
3902
3903 IF x_cle_rec.DROP_SHIPPED_FLAG = OKE_API.G_MISS_CHAR THEN
3904 x_cle_rec.DROP_SHIPPED_FLAG := l_cle_rec.DROP_SHIPPED_FLAG;
3905 END IF;
3906
3907 IF x_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
3908 x_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG := l_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG;
3909 END IF;
3910
3911 IF x_cle_rec.DATE_MATERIAL_REQ = OKE_API.G_MISS_DATE THEN
3912 x_cle_rec.DATE_MATERIAL_REQ := l_cle_rec.DATE_MATERIAL_REQ;
3913 END IF;
3914
3915 IF x_cle_rec.INSPECTION_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
3916 x_cle_rec.INSPECTION_REQ_FLAG := l_cle_rec.INSPECTION_REQ_FLAG;
3917 END IF;
3918
3919 IF x_cle_rec.INTERIM_RPT_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
3920 x_cle_rec.INTERIM_RPT_REQ_FLAG := l_cle_rec.INTERIM_RPT_REQ_FLAG;
3921 END IF;
3922
3923 IF x_cle_rec.SUBJ_A133_FLAG = OKE_API.G_MISS_CHAR THEN
3924 x_cle_rec.SUBJ_A133_FLAG := l_cle_rec.SUBJ_A133_FLAG;
3925 END IF;
3926
3927 IF x_cle_rec.EXPORT_FLAG = OKE_API.G_MISS_CHAR THEN
3928 x_cle_rec.EXPORT_FLAG := l_cle_rec.EXPORT_FLAG;
3929 END IF;
3930
3931 IF x_cle_rec.CFE_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
3932 x_cle_rec.CFE_REQ_FLAG := l_cle_rec.CFE_REQ_FLAG;
3933 END IF;
3934
3935 IF x_cle_rec.COP_REQUIRED_FLAG = OKE_API.G_MISS_CHAR THEN
3936 x_cle_rec.COP_REQUIRED_FLAG := l_cle_rec.COP_REQUIRED_FLAG;
3937 END IF;
3938
3939 IF x_cle_rec.EXPORT_LICENSE_NUM = OKE_API.G_MISS_CHAR THEN
3940 x_cle_rec.EXPORT_LICENSE_NUM := l_cle_rec.EXPORT_LICENSE_NUM;
3941 END IF;
3942
3943 IF x_cle_rec.EXPORT_LICENSE_RES = OKE_API.G_MISS_CHAR THEN
3944 x_cle_rec.EXPORT_LICENSE_RES := l_cle_rec.EXPORT_LICENSE_RES;
3945 END IF;
3946
3947 IF x_cle_rec.COPIES_REQUIRED = OKE_API.G_MISS_NUM THEN
3948 x_cle_rec.COPIES_REQUIRED := l_cle_rec.COPIES_REQUIRED;
3949 END IF;
3950
3951 IF x_cle_rec.CDRL_CATEGORY = OKE_API.G_MISS_CHAR THEN
3952 x_cle_rec.CDRL_CATEGORY := l_cle_rec.CDRL_CATEGORY;
3953 END IF;
3954
3955 IF x_cle_rec.DATA_ITEM_NAME = OKE_API.G_MISS_CHAR THEN
3956 x_cle_rec.DATA_ITEM_NAME := l_cle_rec.DATA_ITEM_NAME;
3957 END IF;
3958
3959 IF x_cle_rec.DATA_ITEM_SUBTITLE = OKE_API.G_MISS_CHAR THEN
3960 x_cle_rec.DATA_ITEM_SUBTITLE := l_cle_rec.DATA_ITEM_SUBTITLE;
3961 END IF;
3962
3963 IF x_cle_rec.DATE_OF_FIRST_SUBMISSION = OKE_API.G_MISS_DATE THEN
3964 x_cle_rec.DATE_OF_FIRST_SUBMISSION := l_cle_rec.DATE_OF_FIRST_SUBMISSION;
3965 END IF;
3966
3967 IF x_cle_rec.FREQUENCY = OKE_API.G_MISS_CHAR THEN
3968 x_cle_rec.FREQUENCY := l_cle_rec.FREQUENCY;
3969 END IF;
3970
3971 IF x_cle_rec.REQUIRING_OFFICE = OKE_API.G_MISS_CHAR THEN
3972 x_cle_rec.REQUIRING_OFFICE := l_cle_rec.REQUIRING_OFFICE;
3973 END IF;
3974
3975 IF x_cle_rec.DCAA_AUDIT_REQ_FLAG = OKE_API.G_MISS_CHAR THEN
3976 x_cle_rec.DCAA_AUDIT_REQ_FLAG := l_cle_rec.DCAA_AUDIT_REQ_FLAG;
3977 END IF;
3978
3979 IF x_cle_rec.DEFINITIZED_FLAG = OKE_API.G_MISS_CHAR THEN
3980 x_cle_rec.DEFINITIZED_FLAG := l_cle_rec.DEFINITIZED_FLAG;
3981 END IF;
3982
3983 IF x_cle_rec.COST_OF_MONEY = OKE_API.G_MISS_CHAR THEN
3984 x_cle_rec.COST_OF_MONEY := l_cle_rec.COST_OF_MONEY;
3985 END IF;
3986
3987 IF x_cle_rec.BILL_UNDEFINITIZED_FLAG = OKE_API.G_MISS_CHAR THEN
3988 x_cle_rec.BILL_UNDEFINITIZED_FLAG := l_cle_rec.BILL_UNDEFINITIZED_FLAG;
3989 END IF;
3990
3991 IF x_cle_rec.NSN_NUMBER = OKE_API.G_MISS_CHAR THEN
3992 x_cle_rec.NSN_NUMBER := l_cle_rec.NSN_NUMBER;
3993 END IF;
3994
3995 IF x_cle_rec.NTE_WARNING_FLAG = OKE_API.G_MISS_CHAR THEN
3996 x_cle_rec.NTE_WARNING_FLAG := l_cle_rec.NTE_WARNING_FLAG;
3997 END IF;
3998
3999 IF x_cle_rec.DISCOUNT_FOR_PAYMENT = OKE_API.G_MISS_NUM THEN
4000 x_cle_rec.DISCOUNT_FOR_PAYMENT := l_cle_rec.DISCOUNT_FOR_PAYMENT;
4001 END IF;
4002
4003 IF x_cle_rec.FINANCIAL_CTRL_FLAG = OKE_API.G_MISS_CHAR THEN
4004 x_cle_rec.FINANCIAL_CTRL_FLAG := l_cle_rec.FINANCIAL_CTRL_FLAG;
4005 END IF;
4006
4007 IF x_cle_rec.C_SCS_FLAG = OKE_API.G_MISS_CHAR THEN
4008 x_cle_rec.C_SCS_FLAG := l_cle_rec.C_SCS_FLAG;
4009 END IF;
4010
4011 IF x_cle_rec.C_SSR_FLAG = OKE_API.G_MISS_CHAR THEN
4012 x_cle_rec.C_SSR_FLAG := l_cle_rec.C_SSR_FLAG;
4013 END IF;
4014
4015 IF x_cle_rec.PREPAYMENT_AMOUNT = OKE_API.G_MISS_NUM THEN
4016 x_cle_rec.PREPAYMENT_AMOUNT := l_cle_rec.PREPAYMENT_AMOUNT;
4017 END IF;
4018
4019 IF x_cle_rec.PREPAYMENT_PERCENTAGE = OKE_API.G_MISS_NUM THEN
4020 x_cle_rec.PREPAYMENT_PERCENTAGE :=l_cle_rec.PREPAYMENT_PERCENTAGE;
4021 END IF;
4022
4023 IF x_cle_rec.PROGRESS_PAYMENT_FLAG = OKE_API.G_MISS_CHAR THEN
4024 x_cle_rec.PROGRESS_PAYMENT_FLAG := l_cle_rec.PROGRESS_PAYMENT_FLAG;
4025 END IF;
4026
4027 IF x_cle_rec.PROGRESS_PAYMENT_LIQ_RATE = OKE_API.G_MISS_NUM THEN
4028 x_cle_rec.PROGRESS_PAYMENT_LIQ_RATE := l_cle_rec.PROGRESS_PAYMENT_LIQ_RATE;
4029 END IF;
4030
4031 IF x_cle_rec.PROGRESS_PAYMENT_RATE = OKE_API.G_MISS_NUM THEN
4032 x_cle_rec.PROGRESS_PAYMENT_RATE := l_cle_rec.PROGRESS_PAYMENT_RATE;
4033 END IF;
4034
4035 IF x_cle_rec.AWARD_FEE = OKE_API.G_MISS_NUM THEN
4036 x_cle_rec.AWARD_FEE := l_cle_rec.AWARD_FEE;
4037 END IF;
4038
4039 IF x_cle_rec.AWARD_FEE_POOL_AMOUNT = OKE_API.G_MISS_NUM THEN
4040 x_cle_rec.AWARD_FEE_POOL_AMOUNT := l_cle_rec.AWARD_FEE_POOL_AMOUNT;
4041 END IF;
4042
4043 IF x_cle_rec.BASE_FEE = OKE_API.G_MISS_NUM THEN
4044 x_cle_rec.BASE_FEE := l_cle_rec.BASE_FEE;
4045 END IF;
4046
4047 IF x_cle_rec.CEILING_COST = OKE_API.G_MISS_NUM THEN
4048 x_cle_rec.CEILING_COST := l_cle_rec.CEILING_COST;
4049 END IF;
4050
4051 IF x_cle_rec.CEILING_PRICE = OKE_API.G_MISS_NUM THEN
4052 x_cle_rec.CEILING_PRICE := l_cle_rec.CEILING_PRICE;
4053 END IF;
4054
4055 IF x_cle_rec.COST_OVERRUN_SHARE_RATIO = OKE_API.G_MISS_CHAR THEN
4056 x_cle_rec.COST_OVERRUN_SHARE_RATIO := l_cle_rec.COST_OVERRUN_SHARE_RATIO;
4057 END IF;
4058
4059 IF x_cle_rec.COST_UNDERRUN_SHARE_RATIO = OKE_API.G_MISS_CHAR THEN
4060 x_cle_rec.COST_UNDERRUN_SHARE_RATIO := l_cle_rec.COST_UNDERRUN_SHARE_RATIO;
4061 END IF;
4062
4063 IF x_cle_rec.LABOR_COST_INDEX = OKE_API.G_MISS_CHAR THEN
4064 x_cle_rec.LABOR_COST_INDEX := l_cle_rec.LABOR_COST_INDEX;
4065 END IF;
4066
4067 IF x_cle_rec.MATERIAL_COST_INDEX = OKE_API.G_MISS_CHAR THEN
4068 x_cle_rec.MATERIAL_COST_INDEX := l_cle_rec.MATERIAL_COST_INDEX;
4069 END IF;
4070
4071 IF x_cle_rec.CUSTOMERS_PERCENT_IN_ORDER = OKE_API.G_MISS_NUM THEN
4072 x_cle_rec.CUSTOMERS_PERCENT_IN_ORDER := l_cle_rec.CUSTOMERS_PERCENT_IN_ORDER;
4073 END IF;
4074
4075 IF x_cle_rec.DATE_OF_PRICE_REDETERMIN = OKE_API.G_MISS_DATE THEN
4076 x_cle_rec.DATE_OF_PRICE_REDETERMIN := l_cle_rec.DATE_OF_PRICE_REDETERMIN;
4077 END IF;
4078
4079 IF x_cle_rec.ESTIMATED_TOTAL_QUANTITY = OKE_API.G_MISS_NUM THEN
4080 x_cle_rec.ESTIMATED_TOTAL_QUANTITY := l_cle_rec.ESTIMATED_TOTAL_QUANTITY;
4081 END IF;
4082
4083 IF x_cle_rec.FEE_AJT_FORMULA = OKE_API.G_MISS_CHAR THEN
4084 x_cle_rec.FEE_AJT_FORMULA := l_cle_rec.FEE_AJT_FORMULA;
4085 END IF;
4086
4087 IF x_cle_rec.FINAL_FEE = OKE_API.G_MISS_NUM THEN
4088 x_cle_rec.FINAL_FEE :=l_cle_rec.FINAL_FEE;
4089 END IF;
4090
4091 IF x_cle_rec.FINAL_PFT_AJT_FORMULA = OKE_API.G_MISS_CHAR THEN
4092 x_cle_rec.FINAL_PFT_AJT_FORMULA := l_cle_rec.FINAL_PFT_AJT_FORMULA;
4093 END IF;
4094
4095 IF x_cle_rec.FIXED_FEE = OKE_API.G_MISS_NUM THEN
4096 x_cle_rec.FIXED_FEE := l_cle_rec.FIXED_FEE ;
4097 END IF;
4098
4099 IF x_cle_rec.FIXED_QUANTITY = OKE_API.G_MISS_NUM THEN
4100 x_cle_rec.FIXED_QUANTITY := l_cle_rec.FIXED_QUANTITY;
4101 END IF;
4102
4103 IF x_cle_rec.INITIAL_FEE = OKE_API.G_MISS_NUM THEN
4104 x_cle_rec.INITIAL_FEE := l_cle_rec.INITIAL_FEE;
4105 END IF;
4106
4107 IF x_cle_rec.INITIAL_PRICE = OKE_API.G_MISS_NUM THEN
4108 x_cle_rec.INITIAL_PRICE := l_cle_rec.INITIAL_PRICE;
4109 END IF;
4110
4111 IF x_cle_rec.LEVEL_OF_EFFORT_HOURS = OKE_API.G_MISS_NUM THEN
4112 x_cle_rec.LEVEL_OF_EFFORT_HOURS := l_cle_rec.LEVEL_OF_EFFORT_HOURS;
4113 END IF;
4114
4115 IF x_cle_rec.LINE_LIQUIDATION_RATE = OKE_API.G_MISS_NUM THEN
4116 x_cle_rec.LINE_LIQUIDATION_RATE := l_cle_rec.LINE_LIQUIDATION_RATE;
4117 END IF;
4118
4119 IF x_cle_rec.MAXIMUM_FEE = OKE_API.G_MISS_NUM THEN
4120 x_cle_rec.MAXIMUM_FEE := l_cle_rec.MAXIMUM_FEE;
4121 END IF;
4122
4123 IF x_cle_rec.MAXIMUM_QUANTITY = OKE_API.G_MISS_NUM THEN
4124 x_cle_rec.MAXIMUM_QUANTITY := l_cle_rec.MAXIMUM_QUANTITY;
4125 END IF;
4126
4127 IF x_cle_rec.MINIMUM_FEE = OKE_API.G_MISS_NUM THEN
4128 x_cle_rec.MINIMUM_FEE := l_cle_rec.MINIMUM_FEE;
4129 END IF;
4130
4131 IF x_cle_rec.MINIMUM_QUANTITY = OKE_API.G_MISS_NUM THEN
4132 x_cle_rec.MINIMUM_QUANTITY := l_cle_rec.MINIMUM_QUANTITY;
4133 END IF;
4134
4135 IF x_cle_rec.NUMBER_OF_OPTIONS = OKE_API.G_MISS_NUM THEN
4136 x_cle_rec.NUMBER_OF_OPTIONS :=l_cle_rec.NUMBER_OF_OPTIONS ;
4137 END IF;
4138
4139 IF x_cle_rec.REVISED_PRICE = OKE_API.G_MISS_NUM THEN
4140 x_cle_rec.REVISED_PRICE := l_cle_rec.REVISED_PRICE;
4141 END IF;
4142
4143 IF x_cle_rec.TARGET_COST = OKE_API.G_MISS_NUM THEN
4144 x_cle_rec.TARGET_COST := l_cle_rec.TARGET_COST;
4145 END IF;
4146
4147 IF x_cle_rec.TARGET_DATE_DEFINITIZE = OKE_API.G_MISS_DATE THEN
4148 x_cle_rec.TARGET_DATE_DEFINITIZE := l_cle_rec.TARGET_DATE_DEFINITIZE;
4149 END IF;
4150
4151 IF x_cle_rec.TARGET_FEE = OKE_API.G_MISS_NUM THEN
4152 x_cle_rec.TARGET_FEE := l_cle_rec.TARGET_FEE;
4153 END IF;
4154
4155 IF x_cle_rec.TARGET_PRICE = OKE_API.G_MISS_NUM THEN
4156 x_cle_rec.TARGET_PRICE := l_cle_rec.TARGET_PRICE;
4157 END IF;
4158
4159 IF x_cle_rec.TOTAL_ESTIMATED_COST = OKE_API.G_MISS_NUM THEN
4160 x_cle_rec.TOTAL_ESTIMATED_COST := l_cle_rec.TOTAL_ESTIMATED_COST;
4161 END IF;
4162
4163 IF x_cle_rec.CREATED_BY = OKE_API.G_MISS_NUM THEN
4164 x_cle_rec.CREATED_BY := l_cle_rec.CREATED_BY;
4165 END IF;
4166
4167 IF x_cle_rec.CREATION_DATE = OKE_API.G_MISS_DATE THEN
4168 x_cle_rec.CREATION_DATE := l_cle_rec.CREATION_DATE;
4169 END IF;
4170
4171 IF x_cle_rec.LAST_UPDATED_BY = OKE_API.G_MISS_NUM THEN
4172 x_cle_rec.LAST_UPDATED_BY := l_cle_rec.LAST_UPDATED_BY;
4173 END IF;
4174
4175 IF x_cle_rec.LAST_UPDATE_LOGIN = OKE_API.G_MISS_NUM THEN
4176 x_cle_rec.LAST_UPDATE_LOGIN := l_cle_rec.LAST_UPDATE_LOGIN;
4177 END IF;
4178
4179 IF x_cle_rec.LAST_UPDATE_DATE = OKE_API.G_MISS_DATE THEN
4180 x_cle_rec.LAST_UPDATE_DATE := l_cle_rec.LAST_UPDATE_DATE;
4181 END IF;
4182
4183 IF x_cle_rec.COST_OF_SALE_RATE = OKE_API.G_MISS_NUM THEN
4184 x_cle_rec.COST_OF_SALE_RATE := l_cle_rec.COST_OF_SALE_RATE;
4185 END IF;
4186
4187 RETURN(l_return_status);
4188
4189 END populate_new_record;
4190
4191 -- set attributes for oke_k_lines
4192
4193 FUNCTION set_attributes(
4194 p_cle_rec IN cle_rec_type,
4195 x_cle_rec OUT NOCOPY cle_rec_type
4196 ) RETURN VARCHAR2 IS
4197 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
4198 BEGIN
4199
4200 x_cle_rec := p_cle_rec;
4201 x_cle_rec.BILLABLE_FLAG := UPPER(x_cle_rec.BILLABLE_FLAG);
4202 x_cle_rec.SHIPPABLE_FLAG := UPPER(x_cle_rec.SHIPPABLE_FLAG);
4203 x_cle_rec.SUBCONTRACTED_FLAG := UPPER(x_cle_rec.SUBCONTRACTED_FLAG);
4204 x_cle_rec.COMPLETED_FLAG := UPPER(x_cle_rec.COMPLETED_FLAG);
4205 x_cle_rec.NSP_FLAG := UPPER(x_cle_rec.NSP_FLAG);
4206
4207 x_cle_rec.DROP_SHIPPED_FLAG := UPPER(x_cle_rec.DROP_SHIPPED_FLAG);
4208
4209 x_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG := UPPER(x_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG);
4210
4211 x_cle_rec.INSPECTION_REQ_FLAG := UPPER(x_cle_rec.INSPECTION_REQ_FLAG);
4212
4213 x_cle_rec.INTERIM_RPT_REQ_FLAG := UPPER(x_cle_rec.INTERIM_RPT_REQ_FLAG);
4214
4215 x_cle_rec.SUBJ_A133_FLAG := UPPER(x_cle_rec.SUBJ_A133_FLAG);
4216
4217 x_cle_rec.EXPORT_FLAG := UPPER(x_cle_rec.EXPORT_FLAG);
4218
4219 x_cle_rec.CFE_REQ_FLAG := UPPER(x_cle_rec.CFE_REQ_FLAG);
4220 x_cle_rec.COP_REQUIRED_FLAG := UPPER(x_cle_rec.COP_REQUIRED_FLAG);
4221
4222 x_cle_rec.DCAA_AUDIT_REQ_FLAG := UPPER(x_cle_rec.DCAA_AUDIT_REQ_FLAG);
4223
4224 x_cle_rec.DEFINITIZED_FLAG := UPPER(x_cle_rec.DEFINITIZED_FLAG);
4225
4226 x_cle_rec.BILL_UNDEFINITIZED_FLAG := UPPER(x_cle_rec.BILL_UNDEFINITIZED_FLAG);
4227 x_cle_rec.NTE_WARNING_FLAG := UPPER(x_cle_rec.NTE_WARNING_FLAG);
4228
4229 x_cle_rec.FINANCIAL_CTRL_FLAG := UPPER(x_cle_rec.FINANCIAL_CTRL_FLAG);
4230
4231 x_cle_rec.C_SCS_FLAG := UPPER(x_cle_rec.C_SCS_FLAG);
4232
4233 x_cle_rec.C_SSR_FLAG := UPPER(x_cle_rec.C_SSR_FLAG);
4234 x_cle_rec.PROGRESS_PAYMENT_FLAG := UPPER(x_cle_rec.PROGRESS_PAYMENT_FLAG);
4235
4236 RETURN(l_return_status);
4237
4238 END Set_Attributes;
4239
4240 BEGIN
4241
4242 l_return_status := OKE_API.START_ACTIVITY(l_api_name,
4243 G_PKG_NAME,
4244 p_init_msg_list,
4245 l_api_version,
4246 p_api_version,
4247 '_PVT',
4248 x_return_status);
4249
4250
4251 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
4252 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
4253 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
4254 RAISE OKE_API.G_EXCEPTION_ERROR;
4255 END IF;
4256
4257
4258
4259 l_return_status := Set_Attributes(
4260 p_cle_rec, -- IN
4261 l_cle_rec); -- OUT
4262
4263 --- If any errors happen abort API
4264 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
4265 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
4266 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
4267 RAISE OKE_API.G_EXCEPTION_ERROR;
4268 END IF;
4269
4270 l_return_status := populate_new_record(l_cle_rec, l_def_cle_rec);
4271
4272 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
4273 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
4274 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
4275 RAISE OKE_API.G_EXCEPTION_ERROR;
4276 END IF;
4277
4278
4279 l_def_cle_rec := fill_who_columns(l_def_cle_rec);
4280
4281
4282 --- Validate all non-missing attributes (Item Level Validation)
4283 l_return_status := Validate_Attributes(l_def_cle_rec);
4284
4285 --- If any errors happen abort API
4286 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
4287 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
4288 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
4289 RAISE OKE_API.G_EXCEPTION_ERROR;
4290 END IF;
4291
4292
4293
4294
4295 l_return_status := Validate_Record(l_def_cle_rec);
4296
4297
4298 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
4299 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
4300 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
4301 RAISE OKE_API.G_EXCEPTION_ERROR;
4302 END IF;
4303
4304
4305
4306 UPDATE OKE_K_LINES
4307 SET
4308 PARENT_LINE_ID = l_def_cle_rec.PARENT_LINE_ID,
4309 PROJECT_ID = l_def_cle_rec.PROJECT_ID,
4310 TASK_ID = l_def_cle_rec.TASK_ID,
4311 BILLING_METHOD_CODE = l_def_cle_rec.BILLING_METHOD_CODE,
4312 INVENTORY_ITEM_ID = l_def_cle_rec.INVENTORY_ITEM_ID,
4313 DELIVERY_ORDER_FLAG = l_def_cle_rec.DELIVERY_ORDER_FLAG,
4314 SPLITED_FLAG = l_def_cle_rec.SPLITED_FLAG,
4315 PRIORITY_CODE = l_def_cle_rec.PRIORITY_CODE,
4316 CUSTOMER_ITEM_ID = l_def_cle_rec.CUSTOMER_ITEM_ID,
4317 CUSTOMER_ITEM_NUMBER = l_def_cle_rec.CUSTOMER_ITEM_NUMBER,
4318 LINE_QUANTITY = l_def_cle_rec.LINE_QUANTITY,
4319 DELIVERY_DATE = l_def_cle_rec.DELIVERY_DATE,
4320 PROPOSAL_DUE_DATE = l_def_cle_rec.PROPOSAL_DUE_DATE,
4321 UNIT_PRICE = l_def_cle_rec.UNIT_PRICE,
4322 UOM_CODE = l_def_cle_rec.UOM_CODE,
4323 LINE_VALUE = l_def_cle_rec.LINE_VALUE,
4324 LINE_VALUE_TOTAL = l_def_cle_rec.LINE_VALUE_TOTAL,
4325 UNDEF_UNIT_PRICE = l_def_cle_rec.UNDEF_UNIT_PRICE,
4326 UNDEF_LINE_VALUE = l_def_cle_rec.UNDEF_LINE_VALUE,
4327 UNDEF_LINE_VALUE_TOTAL = l_def_cle_rec.UNDEF_LINE_VALUE_TOTAL,
4328 END_DATE = l_def_cle_rec.END_DATE,
4329 BILLABLE_FLAG = l_def_cle_rec.BILLABLE_FLAG,
4330 SHIPPABLE_FLAG = l_def_cle_rec.SHIPPABLE_FLAG,
4331 SUBCONTRACTED_FLAG = l_def_cle_rec.SUBCONTRACTED_FLAG,
4332 COMPLETED_FLAG = l_def_cle_rec.COMPLETED_FLAG,
4333 NSP_FLAG = l_def_cle_rec.NSP_FLAG,
4334 APP_CODE = l_def_cle_rec.APP_CODE,
4335 AS_OF_DATE = l_def_cle_rec.AS_OF_DATE,
4336 AUTHORITY = l_def_cle_rec.AUTHORITY,
4337 COUNTRY_OF_ORIGIN_CODE = l_def_cle_rec.COUNTRY_OF_ORIGIN_CODE,
4338 DROP_SHIPPED_FLAG = l_def_cle_rec.DROP_SHIPPED_FLAG,
4339 CUSTOMER_APPROVAL_REQ_FLAG = l_def_cle_rec.CUSTOMER_APPROVAL_REQ_FLAG,
4340 DATE_MATERIAL_REQ = l_def_cle_rec.DATE_MATERIAL_REQ,
4341 INSPECTION_REQ_FLAG = l_def_cle_rec.INSPECTION_REQ_FLAG,
4342 INTERIM_RPT_REQ_FLAG = l_def_cle_rec.INTERIM_RPT_REQ_FLAG,
4343 SUBJ_A133_FLAG = l_def_cle_rec.SUBJ_A133_FLAG,
4344 EXPORT_FLAG = l_def_cle_rec.EXPORT_FLAG,
4345 CFE_REQ_FLAG = l_def_cle_rec.CFE_REQ_FLAG,
4346 COP_REQUIRED_FLAG = l_def_cle_rec.COP_REQUIRED_FLAG,
4347 EXPORT_LICENSE_NUM = l_def_cle_rec.EXPORT_LICENSE_NUM,
4348 EXPORT_LICENSE_RES = l_def_cle_rec.EXPORT_LICENSE_RES,
4349 COPIES_REQUIRED = l_def_cle_rec.COPIES_REQUIRED,
4350 CDRL_CATEGORY = l_def_cle_rec.CDRL_CATEGORY,
4351 DATA_ITEM_NAME = l_def_cle_rec.DATA_ITEM_NAME,
4352 DATA_ITEM_SUBTITLE = l_def_cle_rec.DATA_ITEM_SUBTITLE,
4353 DATE_OF_FIRST_SUBMISSION = l_def_cle_rec.DATE_OF_FIRST_SUBMISSION,
4354 FREQUENCY = l_def_cle_rec.FREQUENCY,
4355 REQUIRING_OFFICE = l_def_cle_rec.REQUIRING_OFFICE,
4356 DCAA_AUDIT_REQ_FLAG = l_def_cle_rec.DCAA_AUDIT_REQ_FLAG,
4357 DEFINITIZED_FLAG = l_def_cle_rec.DEFINITIZED_FLAG,
4358 COST_OF_MONEY = l_def_cle_rec.COST_OF_MONEY,
4359 BILL_UNDEFINITIZED_FLAG = l_def_cle_rec.BILL_UNDEFINITIZED_FLAG,
4360 NSN_NUMBER = l_def_cle_rec.NSN_NUMBER,
4361 NTE_WARNING_FLAG = l_def_cle_rec.NTE_WARNING_FLAG,
4362 DISCOUNT_FOR_PAYMENT = l_def_cle_rec.DISCOUNT_FOR_PAYMENT,
4363 FINANCIAL_CTRL_FLAG = l_def_cle_rec.FINANCIAL_CTRL_FLAG,
4364 C_SCS_FLAG = l_def_cle_rec.C_SCS_FLAG,
4365 C_SSR_FLAG = l_def_cle_rec.C_SSR_FLAG,
4366 PREPAYMENT_AMOUNT = l_def_cle_rec.PREPAYMENT_AMOUNT,
4367 PREPAYMENT_PERCENTAGE = l_def_cle_rec.PREPAYMENT_PERCENTAGE,
4368 PROGRESS_PAYMENT_FLAG = l_def_cle_rec.PROGRESS_PAYMENT_FLAG,
4369 PROGRESS_PAYMENT_LIQ_RATE = l_def_cle_rec.PROGRESS_PAYMENT_LIQ_RATE,
4370 PROGRESS_PAYMENT_RATE = l_def_cle_rec.PROGRESS_PAYMENT_RATE,
4371 AWARD_FEE = l_def_cle_rec.AWARD_FEE,
4372 AWARD_FEE_POOL_AMOUNT = l_def_cle_rec.AWARD_FEE_POOL_AMOUNT ,
4373 BASE_FEE = l_def_cle_rec.BASE_FEE,
4374 CEILING_COST = l_def_cle_rec.CEILING_COST,
4375 CEILING_PRICE = l_def_cle_rec.CEILING_PRICE,
4376 COST_OVERRUN_SHARE_RATIO = l_def_cle_rec.COST_OVERRUN_SHARE_RATIO,
4377 COST_UNDERRUN_SHARE_RATIO = l_def_cle_rec.COST_UNDERRUN_SHARE_RATIO,
4378 LABOR_COST_INDEX = l_def_cle_rec.LABOR_COST_INDEX,
4379 MATERIAL_COST_INDEX = l_def_cle_rec.MATERIAL_COST_INDEX,
4380 CUSTOMERS_PERCENT_IN_ORDER = l_def_cle_rec.CUSTOMERS_PERCENT_IN_ORDER,
4381 DATE_OF_PRICE_REDETERMIN = l_def_cle_rec.DATE_OF_PRICE_REDETERMIN,
4382 ESTIMATED_TOTAL_QUANTITY = l_def_cle_rec.ESTIMATED_TOTAL_QUANTITY,
4383 FEE_AJT_FORMULA = l_def_cle_rec.FEE_AJT_FORMULA,
4384 FINAL_FEE = l_def_cle_rec.FINAL_FEE,
4385 FINAL_PFT_AJT_FORMULA = l_def_cle_rec.FINAL_PFT_AJT_FORMULA,
4386 FIXED_FEE = l_def_cle_rec.FIXED_FEE,
4387 FIXED_QUANTITY = l_def_cle_rec.FIXED_QUANTITY,
4388 INITIAL_FEE = l_def_cle_rec.INITIAL_FEE,
4389 INITIAL_PRICE = l_def_cle_rec.INITIAL_PRICE,
4390 LEVEL_OF_EFFORT_HOURS = l_def_cle_rec.LEVEL_OF_EFFORT_HOURS,
4391 LINE_LIQUIDATION_RATE = l_def_cle_rec.LINE_LIQUIDATION_RATE,
4392 MAXIMUM_FEE = l_def_cle_rec.MAXIMUM_FEE,
4393 MAXIMUM_QUANTITY = l_def_cle_rec.MAXIMUM_QUANTITY,
4394 MINIMUM_FEE = l_def_cle_rec.MINIMUM_FEE,
4395 MINIMUM_QUANTITY = l_def_cle_rec.MINIMUM_QUANTITY,
4396 NUMBER_OF_OPTIONS = l_def_cle_rec.NUMBER_OF_OPTIONS,
4397 REVISED_PRICE = l_def_cle_rec.REVISED_PRICE,
4398 TARGET_COST = l_def_cle_rec.TARGET_COST,
4399 TARGET_DATE_DEFINITIZE = l_def_cle_rec.TARGET_DATE_DEFINITIZE,
4400 TARGET_FEE = l_def_cle_rec.TARGET_FEE,
4401 TARGET_PRICE = l_def_cle_rec.TARGET_PRICE,
4402 TOTAL_ESTIMATED_COST = l_def_cle_rec.TOTAL_ESTIMATED_COST,
4403 CREATED_BY = l_def_cle_rec.CREATED_BY,
4404 CREATION_DATE = l_def_cle_rec.CREATION_DATE,
4405 LAST_UPDATED_BY = l_def_cle_rec.LAST_UPDATED_BY,
4406 LAST_UPDATE_LOGIN = l_def_cle_rec.LAST_UPDATE_LOGIN,
4407 LAST_UPDATE_DATE = l_def_cle_rec.LAST_UPDATE_DATE,
4408 COST_OF_SALE_RATE = l_def_cle_rec.COST_OF_SALE_RATE
4409
4410 WHERE K_LINE_ID = l_def_cle_rec.K_LINE_ID;
4411
4412
4413 x_cle_rec := l_def_cle_rec;
4414
4415 OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
4416
4417 EXCEPTION
4418 WHEN OKE_API.G_EXCEPTION_ERROR THEN
4419 x_return_status := OKE_API.HANDLE_EXCEPTIONS
4420 (
4421 l_api_name,
4422 G_PKG_NAME,
4423 'OKE_API.G_RET_STS_ERROR',
4424 x_msg_count,
4425 x_msg_data,
4426 '_PVT'
4427 );
4428 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4429 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4430 (
4431 l_api_name,
4432 G_PKG_NAME,
4433 'OKE_API.G_RET_STS_UNEXP_ERROR',
4434 x_msg_count,
4435 x_msg_data,
4436 '_PVT'
4437 );
4438 WHEN OTHERS THEN
4439 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4440 (
4441 l_api_name,
4442 G_PKG_NAME,
4443 'OTHERS',
4444 x_msg_count,
4445 x_msg_data,
4446 '_PVT'
4447 );
4448 END update_row;
4449
4450
4451 PROCEDURE update_row(
4452 p_api_version IN NUMBER,
4453 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
4454 x_return_status OUT NOCOPY VARCHAR2,
4455 x_msg_count OUT NOCOPY NUMBER,
4456 x_msg_data OUT NOCOPY VARCHAR2,
4457 p_cle_tbl IN cle_tbl_type,
4458 x_cle_tbl OUT NOCOPY cle_tbl_type) IS
4459
4460 l_api_version CONSTANT NUMBER := 1.0;
4461 l_api_name CONSTANT VARCHAR2(30) := 'TBL_update_row';
4462
4463
4464 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
4465 l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
4466 i NUMBER := 0;
4467 BEGIN
4468 OKE_API.init_msg_list(p_init_msg_list);
4469 -- Make sure PL/SQL table has records in it before passing
4470 IF (p_cle_tbl.COUNT > 0) THEN
4471 i := p_cle_tbl.FIRST;
4472 LOOP
4473 update_row (
4474 p_api_version => p_api_version,
4475 p_init_msg_list => OKE_API.G_FALSE,
4476 x_return_status => x_return_status,
4477 x_msg_count => x_msg_count,
4478 x_msg_data => x_msg_data,
4479 p_cle_rec => p_cle_tbl(i),
4480 x_cle_rec => x_cle_tbl(i));
4481
4482 -- store the highest degree of error
4483 If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
4484 If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
4485 l_overall_status := x_return_status;
4486 End If;
4487 End If;
4488
4489 EXIT WHEN (i = p_cle_tbl.LAST);
4490 i := p_cle_tbl.NEXT(i);
4491 END LOOP;
4492 -- return overall status
4493 x_return_status := l_overall_status;
4494 END IF;
4495
4496 EXCEPTION
4497 WHEN OKE_API.G_EXCEPTION_ERROR THEN
4498 x_return_status := OKE_API.HANDLE_EXCEPTIONS
4499 (
4500 l_api_name,
4501 G_PKG_NAME,
4502 'OKE_API.G_RET_STS_ERROR',
4503 x_msg_count,
4504 x_msg_data,
4505 '_PVT'
4506 );
4507
4508 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4509 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4510 (
4511 l_api_name,
4512 G_PKG_NAME,
4513 'OKE_API.G_RET_STS_UNEXP_ERROR',
4514 x_msg_count,
4515 x_msg_data,
4516 '_PVT'
4517 );
4518 WHEN OTHERS THEN
4519 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4520 (
4521 l_api_name,
4522 G_PKG_NAME,
4523 'OTHERS',
4524 x_msg_count,
4525 x_msg_data,
4526 '_PVT'
4527 );
4528 END update_row;
4529
4530 PROCEDURE delete_row(
4531 p_api_version IN NUMBER,
4532 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
4533 x_return_status OUT NOCOPY VARCHAR2,
4534 x_msg_count OUT NOCOPY NUMBER,
4535 x_msg_data OUT NOCOPY VARCHAR2,
4536 p_cle_rec IN cle_rec_type) IS
4537
4538 l_api_version CONSTANT NUMBER := 1;
4539 l_api_name CONSTANT VARCHAR2(30) := 'B_delete_row';
4540 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
4541 l_cle_rec cle_rec_type := p_cle_rec;
4542
4543 BEGIN
4544
4545 l_return_status := OKE_API.START_ACTIVITY(l_api_name,
4546 p_init_msg_list,
4547 '_PVT',
4548 x_return_status);
4549
4550
4551 IF (l_return_status = OKE_API.G_RET_STS_UNEXP_ERROR) THEN
4552 RAISE OKE_API.G_EXCEPTION_UNEXPECTED_ERROR;
4553 ELSIF (l_return_status = OKE_API.G_RET_STS_ERROR) THEN
4554 RAISE OKE_API.G_EXCEPTION_ERROR;
4555 END IF;
4556
4557 DELETE FROM OKE_K_LINES
4558 WHERE K_LINE_ID = l_cle_rec.K_LINE_ID;
4559
4560 OKE_API.END_ACTIVITY(x_msg_count, x_msg_data);
4561
4562 EXCEPTION
4563 WHEN OKE_API.G_EXCEPTION_ERROR THEN
4564 x_return_status := OKE_API.HANDLE_EXCEPTIONS
4565 (
4566 l_api_name,
4567 G_PKG_NAME,
4568 'OKE_API.G_RET_STS_ERROR',
4569 x_msg_count,
4570 x_msg_data,
4571 '_PVT'
4572 );
4573 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4574 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4575 (
4576 l_api_name,
4577 G_PKG_NAME,
4578 'OKE_API.G_RET_STS_UNEXP_ERROR',
4579 x_msg_count,
4580 x_msg_data,
4581 '_PVT'
4582 );
4583 WHEN OTHERS THEN
4584 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4585 (
4586 l_api_name,
4587 G_PKG_NAME,
4588 'OTHERS',
4589 x_msg_count,
4590 x_msg_data,
4591 '_PVT'
4592 );
4593 END delete_row;
4594
4595 PROCEDURE delete_row(
4596 p_api_version IN NUMBER,
4597 p_init_msg_list IN VARCHAR2 DEFAULT OKE_API.G_FALSE,
4598 x_return_status OUT NOCOPY VARCHAR2,
4599 x_msg_count OUT NOCOPY NUMBER,
4600 x_msg_data OUT NOCOPY VARCHAR2,
4601 p_cle_tbl IN cle_tbl_type) IS
4602
4603 l_api_version CONSTANT NUMBER := 1;
4604 l_api_name CONSTANT VARCHAR2(30) := 'TBL_delete_row';
4605 l_return_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
4606 l_overall_status VARCHAR2(1) := OKE_API.G_RET_STS_SUCCESS;
4607 i NUMBER := 0;
4608 BEGIN
4609 OKE_API.init_msg_list(p_init_msg_list);
4610
4611 -- Make sure PL/SQL table has records in it before passing
4612 IF (p_cle_tbl.COUNT > 0) THEN
4613 i := p_cle_tbl.FIRST;
4614 LOOP
4615 delete_row (
4616 p_api_version => p_api_version,
4617 p_init_msg_list => OKE_API.G_FALSE,
4618 x_return_status => x_return_status,
4619 x_msg_count => x_msg_count,
4620 x_msg_data => x_msg_data,
4621 p_cle_rec => p_cle_tbl(i));
4622
4623
4624
4625 -- store the highest degree of error
4626 If x_return_status <> OKE_API.G_RET_STS_SUCCESS Then
4627 If l_overall_status <> OKE_API.G_RET_STS_UNEXP_ERROR Then
4628 l_overall_status := x_return_status;
4629 End If;
4630 End If;
4631
4632 EXIT WHEN (i = p_cle_tbl.LAST);
4633 i := p_cle_tbl.NEXT(i);
4634 END LOOP;
4635
4636 -- return overall status
4637 x_return_status := l_overall_status;
4638 END IF;
4639
4640 EXCEPTION
4641 WHEN OKE_API.G_EXCEPTION_ERROR THEN
4642 x_return_status := OKE_API.HANDLE_EXCEPTIONS
4643 (
4644 l_api_name,
4645 G_PKG_NAME,
4646 'OKE_API.G_RET_STS_ERROR',
4647 x_msg_count,
4648 x_msg_data,
4649 '_PVT'
4650 );
4651 WHEN OKE_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
4652 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4653 (
4654 l_api_name,
4655 G_PKG_NAME,
4656 'OKE_API.G_RET_STS_UNEXP_ERROR',
4657 x_msg_count,
4658 x_msg_data,
4659 '_PVT'
4660 );
4661 WHEN OTHERS THEN
4662 x_return_status :=OKE_API.HANDLE_EXCEPTIONS
4663 (
4664 l_api_name,
4665 G_PKG_NAME,
4666 'OTHERS',
4667 x_msg_count,
4668 x_msg_data,
4669 '_PVT'
4670 );
4671 END delete_row;
4672
4673 END OKE_CLE_PVT;
4674