DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMF_VALIDATIONS_PVT

Source


1 PACKAGE BODY GMF_validations_PVT AS
2 /* $Header: GMFVVALB.pls 120.4.12000000.2 2007/05/02 12:11:29 pmarada ship $ */
3 
4 -- Start of comments
5 --+==========================================================================+
6 --|                   Copyright (c) 1998 Oracle Corporation                  |
7 --|                          Redwood Shores, CA, USA                         |
8 --|                            All rights reserved.                          |
9 --+==========================================================================+
10 --| File Name          : GMFPVALS.pls                                        |
11 --| Package Name       : GMF_Validations_PVT                                 |
12 --| API name           : GMF_Validations_PVT                                 |
13 --| Type               : Public                                              |
14 --| Pre-reqs           : N/A                                                 |
15 --| Function           : This package contains generic validations functions |
16 --|                      and procedures for masters.                         |
17 --| Parameters         : N/A                                                 |
18 --|                                                                          |
19 --| Current Vers       : 1.0                                                 |
20 --| Previous Vers      : None                                                |
21 --| Initial Vers       : None                                                |
22 --|                                                                          |
23 --| Contents                                                                 |
24 --|     FUNCTION Validate_Calendar_Code                                      |
25 --|     PROCEDURE Validate_Calendar_Code                                     |
26 --|     FUNCTION Validate_Period_Code                                        |
27 --|     FUNCTION Validate_Cost_Mthd_Code                                     |
28 --|     PROCEDURE Validate_Cost_Mthd_Code                                    |
29 --|     FUNCTION Validate_Cost_Analysis_Code                                 |
30 --|     FUNCTION Validate_Company_Code                                       |
31 --|     FUNCTION Validate_Orgn_Code                                          |
32 --|     FUNCTION Validate_Whse_Code                                          |
33 --|     FUNCTION Validate_Item_Id                                            |
34 --|     PROCEDURE Validate_Item_Id                                           |
35 --|     FUNCTION Validate_Item_No                                            |
36 --|     PROCEDURE Validate_Item_No                                           |
37 --|     FUNCTION Fecth_Item_Id                                               |
38 --|     FUNCTION Validate_Itemcost_Class                                     |
39 --|     FUNCTION Validate_Cost_Cmpntcls_Id                                   |
40 --|     PROCEDURE Validate_Cost_Cmpntcls_Id                                  |
41 --|     FUNCTION Validate_Cost_Cmpntcls_Code                                 |
42 --|     PROCEDURE Validate_Cost_Cmpntcls_Code                                |
43 --|     FUNCTION Fetch_Cmpntcls_Id                                           |
44 --|     FUNCTION Validate_Gl_Class                                           |
45 --|     FUNCTION Validate_Fmeff_Id                                           |
46 --|     FUNCTION Validate_Resources                                          |
47 --|     PROCEDURE Validate_Resources                                         |
48 --|     FUNCTION Validate_Alloc_Id                                           |
49 --|     FUNCTION Validate_Alloc_Code                                         |
50 --|     FUNCTION Validate_Text_Code                                          |
51 --|     FUNCTION Validate_Basis_Account_Key                                  |
52 --|     FUNCTION Validate_Usage_um                                           |
53 --|                                                                          |
54 --| Notes                                                                    |
55 --|     All the foreign key validations to masters will be added             |
56 --|                                                                          |
57 --| HISTORY                                                                  |
58 --|    27/Feb/2001  Uday Moogala  Created  Bug# 1418689                      |
59 --|    30-OCT-2002  RajaSekhar    Bug#2641405 Added NOCOPY hint.             |
60 --|    27/10/2003 Uday Moogla - Log error if lot cost method is passed.      |
61 --|                                                                          |
62 --+==========================================================================+
63 -- End of comments
64 
65 -- Func start of comments
66 --+==========================================================================+
67 --|  FUNCTION NAME                                                           |
68 --|       Validate_Calendar_Code                                             |
69 --|                                                                          |
70 --|  USAGE                                                                   |
71 --|       Validates Calendar  Code                                           |
72 --|                                                                          |
73 --|  DESCRIPTION                                                             |
74 --|       This function validates that the Calendar Code exists in           |
75 --|       on cm_cldr_hdr                                                     |
76 --|                                                                          |
77 --|  PARAMETERS                                                              |
78 --|       p_calendar_code IN VARCHAR2(4) - Calendar Method Code              |
79 --|                                                                          |
80 --|  RETURNS                                                                 |
81 --|       TRUE  - If Calendar Code exists                                    |
82 --|       FALSE - If Calendar Code does not exists                           |
83 --|                                                                          |
84 --|  HISTORY                                                                 |
85 --|       27/02/2001 Uday Moogla - Created                                   |
86 --|                                                                          |
87 --+==========================================================================+
88 -- Func end of comments
89 
90 FUNCTION Validate_Calendar_Code
91 (
92   p_calendar_code IN cm_cldr_hdr.Calendar_Code%TYPE
93 )
94   RETURN BOOLEAN
95 IS
96   CURSOR cur_cm_cldr_hdr
97   IS
98     SELECT
99       calendar_code
100     FROM
101       cm_cldr_hdr
102     WHERE
103         calendar_code = p_calendar_code
104     AND delete_mark    = 0;
105 
106   l_calendar_code cm_cldr_hdr.Calendar_Code%TYPE ;
107 
108 BEGIN
109 
110   OPEN cur_cm_cldr_hdr;
111   FETCH cur_cm_cldr_hdr INTO l_calendar_code;
112   IF (cur_cm_cldr_hdr%NOTFOUND)
113   THEN
114     CLOSE cur_cm_cldr_hdr;
115     RETURN FALSE;
116   ELSE
117     CLOSE cur_cm_cldr_hdr;
118     RETURN TRUE;
119   END IF;
120 
121 EXCEPTION
122   WHEN OTHERS THEN
123     RAISE;
124 
125 END Validate_Calendar_Code;
126 
127 -- Func start of comments
128 --+==========================================================================+
129 --|  PROCEDURE NAME                                                          |
130 --|       Validate_Calendar_Code                                             |
131 --|                                                                          |
132 --|  USAGE                                                                   |
133 --|       Validates Calendar Code                                            |
134 --|                                                                          |
135 --|  DESCRIPTION                                                             |
136 --|       This function validates that the Calendar Code exists in           |
137 --|       on cm_cldr_hdr and returns co_code and cost method                 |
138 --|                                                                          |
139 --|  PARAMETERS                                                              |
140 --|       p_calendar_code IN VARCHAR2(4) - Calendar Method Code              |
141 --|                                                                          |
142 --|  RETURNS                                                                 |
143 --|                                                                          |
144 --|  HISTORY                                                                 |
145 --|       27/02/2001 Uday Moogla - Created                                   |
146 --|                                                                          |
147 --+==========================================================================+
148 -- Func end of comments
149 
150 PROCEDURE Validate_Calendar_Code
151 (
152   p_calendar_code    IN  cm_cldr_hdr.Calendar_Code%TYPE
153 , x_co_code          OUT NOCOPY cm_cldr_hdr.co_code%TYPE
154 , x_cost_mthd_code   OUT NOCOPY cm_cldr_hdr.cost_mthd_code%TYPE
155 )
156 IS
157   CURSOR cur_cm_cldr_hdr
158   IS
159     SELECT
160       co_code, cost_mthd_code
161     FROM
162       cm_cldr_hdr
163     WHERE
164         calendar_code = p_calendar_code
165     AND delete_mark    = 0;
166 
167 BEGIN
168 
169   OPEN cur_cm_cldr_hdr;
170   FETCH cur_cm_cldr_hdr INTO x_co_code, x_cost_mthd_code;
171   CLOSE cur_cm_cldr_hdr;
172 /*
173   IF (cur_cm_cldr_hdr%NOTFOUND)
174   THEN
175     CLOSE cur_cm_cldr_hdr;
176     RETURN FALSE;
177   ELSE
178     CLOSE cur_cm_cldr_hdr;
179     RETURN TRUE;
180   END IF;
181 */
182 EXCEPTION
183   WHEN OTHERS THEN
184     RAISE;
185 
186 END Validate_Calendar_Code;
187 
188 -- Func start of comments
189 --+==========================================================================+
190 --|  PROCEDURE NAME                                                          |
191 --|       Validate_Period_Code                                               |
192 --|                                                                          |
193 --|  USAGE                                                                   |
194 --|       Validates Period Code                                              |
195 --|                                                                          |
196 --|  DESCRIPTION                                                             |
197 --|       This function validates that the Period Code exists in             |
198 --|       on cm_cldr_dtl                                                     |
199 --|                                                                          |
200 --|  PARAMETERS                                                              |
201 --|       p_calendar_code IN VARCHAR2(4) - Calendar Method Code              |
202 --|       p_period_code   IN VARCHAR2(4) - Period Code                       |
203 --|                                                                          |
204 --|  RETURNS                                                                 |
205 --|       period_status -                                                    |
206 --|                                                                          |
207 --|  HISTORY                                                                 |
208 --|       27/02/2001 Uday Moogla - Created                                   |
209 --|                                                                          |
210 --+==========================================================================+
211 -- Func end of comments
212 
213 PROCEDURE Validate_Period_Code
214 (
215   p_Calendar_Code  IN  cm_cldr_hdr.Calendar_Code%TYPE,
216   p_Period_Code    IN  cm_cldr_dtl.Period_Code%TYPE,
217   x_Period_Status  OUT NOCOPY cm_cldr_dtl.period_status%TYPE
218 )
219 IS
220   CURSOR cur_cm_cldr_dtl
221   IS
222     SELECT
223       period_status
224     FROM
225       cm_cldr_dtl
226     WHERE
227         calendar_code 	= p_calendar_code
228     AND period_code 	= p_period_code
229     AND delete_mark    	= 0;
230 
231 BEGIN
232 
233   OPEN cur_cm_cldr_dtl;
234   FETCH cur_cm_cldr_dtl INTO x_period_status;
235   CLOSE cur_cm_cldr_dtl;
236 /*
237   IF (cur_cm_cldr_dtl%NOTFOUND)
238   THEN
239     CLOSE cur_cm_cldr_dtl;
240     RETURN FALSE;
241   ELSE
242     CLOSE cur_cm_cldr_dtl;
243     RETURN TRUE;
244   END IF;
245 */
246 EXCEPTION
247   WHEN OTHERS THEN
248     RAISE;
249 
250 End Validate_Period_Code;
251 --
252 
253 -- Func start of comments
254 --+==========================================================================+
255 --|  FUNCTION NAME                                                           |
256 --|       Validate_cost_mthd_code                                            |
257 --|                                                                          |
258 --|  USAGE                                                                   |
259 --|       Validates cost_mthd_code                                           |
260 --|                                                                          |
261 --|  DESCRIPTION                                                             |
262 --|       This function validates that the cost Method Code exists           |
263 --|       on cm_mthd_mst                                                     |
264 --|                                                                          |
265 --|  PARAMETERS                                                              |
266 --|       p_cost_mthd_code IN VARCHAR2(4) - Cost Method Code                 |
267 --|                                                                          |
268 --|  RETURNS                                                                 |
269 --|       TRUE  - If Cost Method contains a valid value                      |
270 --|       FALSE - If Cost Method contains an invalid value                   |
271 --|                                                                          |
272 --|  HISTORY                                                                 |
273 --|       27/02/2001 Uday Moogla - Created                                   |
274 --|       27/10/2003 Uday Moogla - Log error if lot cost method is passed.   |
275 --|                                                                          |
276 --+==========================================================================+
277 -- Func end of comments
278 
279 FUNCTION Validate_cost_mthd_code (
280 	p_cost_mthd_code IN ic_item_mst.cost_mthd_code%TYPE
281 	)
282   RETURN BOOLEAN
283 IS
284   CURSOR cur_cm_mthd_mst
285   IS
286     SELECT
287       cost_mthd_code, lot_actual_cost
288     FROM
289       cm_mthd_mst
290     WHERE
291         cm_mthd_mst.cost_mthd_code = p_cost_mthd_code
292     AND cm_mthd_mst.delete_mark    = 0;
293 
294   l_cost_mthd_code ic_item_mst.cost_mthd_code%TYPE;
295   l_lot_actual_cost cm_mthd_mst.lot_actual_cost%TYPE;
296 
297 BEGIN
298 
299   OPEN cur_cm_mthd_mst;
300   FETCH cur_cm_mthd_mst INTO l_cost_mthd_code, l_lot_actual_cost;
301   IF (cur_cm_mthd_mst%NOTFOUND)
302   THEN
303     CLOSE cur_cm_mthd_mst;
304     RETURN FALSE;
305   ELSE
306     CLOSE cur_cm_mthd_mst;
307     IF l_lot_actual_cost = 1 THEN
308       FND_MESSAGE.SET_NAME('GMF','GMF_API_LOTCOST_MTHD_UNSUPP');
309       FND_MESSAGE.SET_TOKEN('COST_MTHD_CODE',p_cost_mthd_code);
310       FND_MSG_PUB.Add;
311       RETURN FALSE;
312     ELSE
313       RETURN TRUE;
314     END IF;
315   END IF;
316 
317 EXCEPTION
318   WHEN OTHERS THEN
319     RAISE;
320 
321 END Validate_cost_mthd_code;
322 
323 -- Func start of comments
324 --+==========================================================================+
325 --|  PROCEDURE NAME                                                          |
326 --|       Validate_cost_mthd_code                                            |
327 --|                                                                          |
328 --|  USAGE                                                                   |
329 --|       Validates cost_mthd_code                                           |
330 --|                                                                          |
331 --|  DESCRIPTION                                                             |
332 --|       This function validates that the cost Method Code exists           |
333 --|       on cm_mthd_mst and returns cost_type, rmcalc_type and prodcalc_type|
334 --|                                                                          |
335 --|  PARAMETERS                                                              |
336 --|       p_cost_mthd_code IN VARCHAR2(4) - Cost Method Code                 |
337 --|       x_cost_type      OUT NUMBER     - Cost Type                        |
338 --|       x_rmcalc_type    OUT NUMBER                                        |
339 --|       x_prodcalc_type  OUT NUMBER                                        |
340 --|                                                                          |
341 --|  RETURNS                                                                 |
342 --|       x_cost_type      OUT NUMBER     - Cost Type                        |
343 --|       x_rmcalc_type    OUT NUMBER                                        |
344 --|       x_prodcalc_type  OUT NUMBER                                        |
345 --|                                                                          |
346 --|  HISTORY                                                                 |
347 --|       27/02/2001 Uday Moogla - Created                                   |
348 --|       27/10/2003 Uday Moogla - Log error if lot cost method is passed.   |
349 --|                                                                          |
350 --+==========================================================================+
351 -- Func end of comments
352 
353 PROCEDURE Validate_cost_mthd_code
354 (
355 p_cost_mthd_code IN  cm_mthd_mst.cost_mthd_code%TYPE,
356 x_cost_type      OUT NOCOPY cm_mthd_mst.cost_type%TYPE,
357 x_rmcalc_type    OUT NOCOPY cm_mthd_mst.rmcalc_type%TYPE,
358 x_prodcalc_type  OUT NOCOPY cm_mthd_mst.prodcalc_type%TYPE
359 )
360 IS
361   CURSOR cur_cm_mthd_mst
362   IS
363     SELECT
364       cost_type, rmcalc_type, prodcalc_type, lot_actual_cost
365     FROM
366       cm_mthd_mst
367     WHERE
368         cm_mthd_mst.cost_mthd_code = p_cost_mthd_code
369     AND cm_mthd_mst.delete_mark    = 0;
370 
371   l_cost_mthd_code ic_item_mst.cost_mthd_code%TYPE;
372   l_lot_actual_cost cm_mthd_mst.lot_actual_cost%TYPE;
373 
374 BEGIN
375 
376   OPEN cur_cm_mthd_mst;
377   FETCH cur_cm_mthd_mst INTO x_cost_type, x_rmcalc_type, x_prodcalc_type, l_lot_actual_cost ;
378   CLOSE cur_cm_mthd_mst;
379 
380   IF l_lot_actual_cost = 1 THEN
381     FND_MESSAGE.SET_NAME('GMF','GMF_API_LOTCOST_MTHD_UNSUPP');
382     FND_MESSAGE.SET_TOKEN('COST_MTHD_CODE',p_cost_mthd_code);
383     FND_MSG_PUB.Add;
384     x_cost_type     := NULL;
385     x_rmcalc_type   := NULL;
386     x_prodcalc_type := NULL;
387   END IF;
388 /*
389   IF (cur_cm_mthd_mst%NOTFOUND)
390   THEN
391     CLOSE cur_cm_mthd_mst;
392     RETURN FALSE;
393   ELSE
394     CLOSE cur_cm_mthd_mst;
395     RETURN TRUE;
396   END IF;
397 */
398 EXCEPTION
399   WHEN OTHERS THEN
400     RAISE;
401 
402 END Validate_cost_mthd_code;
403 
404 -- Func start of comments
405 --+==========================================================================+
406 --|  FUNCTION NAME                                                           |
407 --|       Validate_Analysis_Code                                             |
408 --|                                                                          |
409 --|  USAGE                                                                   |
410 --|       Validates Cost Analysis Code                                       |
411 --|                                                                          |
412 --|  DESCRIPTION                                                             |
413 --|       This function validates that the Cost Analysis Code exists         |
414 --|       on cm_alys_mst                                                     |
415 --|                                                                          |
416 --|  PARAMETERS                                                              |
417 --|       p_Cost_Analysis_Code IN VARCHAR2(4) - Cost Analysis Code           |
418 --|                                                                          |
419 --|  RETURNS                                                                 |
420 --|       TRUE  - If Cost Analysis Code contains a valid value               |
421 --|       FALSE - If Cost Analysis Code contains an invalid value            |
422 --|                                                                          |
423 --|  HISTORY                                                                 |
424 --|       27/02/2001 Uday Moogla - Created                                   |
425 --|                                                                          |
426 --+==========================================================================+
427 -- Func end of comments
428 
429 FUNCTION Validate_Analysis_Code
430 (
431   p_Cost_Analysis_Code  IN cm_alys_mst.Cost_Analysis_Code%TYPE
432 )
433   RETURN BOOLEAN
434 IS
435   CURSOR  Cur_analysis_code
436   IS
437     SELECT
438 	cost_analysis_code
439     FROM
440 	cm_alys_mst
441     WHERE
442 	cost_analysis_code = p_Cost_Analysis_Code
443     AND delete_mark = 0;
444 
445   l_Cost_Analysis_Code	cm_alys_mst.Cost_Analysis_Code%TYPE ;
446 
447 BEGIN
448 
449   OPEN Cur_analysis_code;
450   FETCH Cur_analysis_code INTO l_Cost_Analysis_Code;
451   IF (Cur_analysis_code%NOTFOUND)
452   THEN
453     CLOSE Cur_analysis_code;
454     RETURN FALSE;
455   ELSE
456     CLOSE Cur_analysis_code;
457     RETURN TRUE;
458   END IF;
459 
460 EXCEPTION
461   WHEN OTHERS THEN
462     RAISE;
463 
464 End Validate_Analysis_Code;
465 --
466 
467 -- Func start of comments
468 --+==========================================================================+
469 --|  FUNCTION NAME                                                           |
470 --|       Validate_Company_Code                                              |
471 --|                                                                          |
472 --|  USAGE                                                                   |
473 --|       Validates Company Code                                             |
474 --|                                                                          |
475 --|  DESCRIPTION                                                             |
476 --|       This function validates that the Company Code exists               |
477 --|       on sy_orgn_mst                                                     |
478 --|                                                                          |
479 --|  PARAMETERS                                                              |
480 --|       p_Company_Code IN VARCHAR2(4) - Company Code                       |
481 --|                                                                          |
482 --|  RETURNS                                                                 |
483 --|       TRUE  - If Company Code contains a valid value                     |
484 --|       FALSE - If Company Code contains an invalid value                  |
485 --|                                                                          |
486 --|  HISTORY                                                                 |
487 --|       27/02/2001 Uday Moogla - Created                                   |
488 --|                                                                          |
489 --+==========================================================================+
490 -- Func end of comments
491 
492 FUNCTION Validate_Company_Code
493 (
494   p_Company_Code  IN sy_orgn_mst.Co_Code%TYPE
495 )
496   RETURN BOOLEAN
497 IS
498   CURSOR  Cur_company_code
499   IS
500     SELECT
501         co_code
502     FROM
503         sy_orgn_mst
504     WHERE
505         co_code 	= p_Company_Code
506     AND orgn_code 	= co_code
507     AND delete_mark	= 0;
508 
509   l_Company_Code  sy_orgn_mst.Co_Code%TYPE ;
510 
511 BEGIN
512 
513   OPEN Cur_company_code;
514   FETCH Cur_company_code INTO l_Company_Code;
515   IF (Cur_company_code%NOTFOUND)
516   THEN
517     CLOSE Cur_company_code;
518     RETURN FALSE;
519   ELSE
520     CLOSE Cur_company_code;
521     RETURN TRUE;
522   END IF;
523 
524 EXCEPTION
525   WHEN OTHERS THEN
526     RAISE;
527 
528 End Validate_Company_Code;
529 --
530 
531 -- Func start of comments
532 --+==========================================================================+
533 --|  FUNCTION NAME                                                           |
534 --|       Validate_Orgn_Code                                                 |
535 --|                                                                          |
536 --|  USAGE                                                                   |
537 --|       Validates Organization Code                                        |
538 --|                                                                          |
539 --|  DESCRIPTION                                                             |
540 --|       This function validates that the Orgn Code exists on sy_orgn_mst   |
541 --|                                                                          |
542 --|  PARAMETERS                                                              |
543 --|       p_orgn_code IN VARCHAR2(4) - Orgn Code                             |
544 --|                                                                          |
545 --|  RETURNS                                                                 |
546 --|       TRUE  - If Orgn Code contains a valid value                        |
547 --|       FALSE - If Orgn Code contains an invalid value                     |
548 --|                                                                          |
549 --|  HISTORY                                                                 |
550 --|       27/02/2001 Uday Moogla - Created                                   |
551 --|                                                                          |
552 --+==========================================================================+
553 -- Func end of comments
554 
555 FUNCTION Validate_Orgn_Code
556 ( p_Orgn_Code  IN sy_orgn_mst.Orgn_Code%TYPE
557 )
558 RETURN BOOLEAN
559 IS
560   CURSOR  Cur_orgn_code
561   IS
562     SELECT
563         orgn_code
564     FROM
565         sy_orgn_mst
566     WHERE
567     	orgn_code       = p_orgn_code
568     AND delete_mark     = 0;
569 
570   l_orgn_code  sy_orgn_mst.orgn_code%TYPE ;
571 
572 BEGIN
573 
574   OPEN Cur_orgn_code;
575   FETCH Cur_orgn_code INTO l_orgn_code;
576   IF (Cur_orgn_code%NOTFOUND)
577   THEN
578     CLOSE Cur_orgn_code;
579     RETURN FALSE;
580   ELSE
581     CLOSE Cur_orgn_code;
582     RETURN TRUE;
583   END IF;
584 
585 EXCEPTION
586   WHEN OTHERS THEN
587     RAISE;
588 
589 End Validate_Orgn_Code ;
590 --
591 
592 -- Func start of comments
593 --+==========================================================================+
594 --|  FUNCTION NAME                                                           |
595 --|       Validate_Whse_Code                                                 |
596 --|                                                                          |
597 --|  USAGE                                                                   |
598 --|       Validates Warehouse Code                                           |
599 --|                                                                          |
600 --|  DESCRIPTION                                                             |
601 --|       This function validates that the Whse Code exists on ic_whse_mst   |
602 --|                                                                          |
603 --|  PARAMETERS                                                              |
604 --|       p_whse_code IN VARCHAR2(4) - Whse Code                             |
605 --|                                                                          |
606 --|  RETURNS                                                                 |
607 --|       TRUE  - If Whse Code contains a valid value                        |
608 --|       FALSE - If Whse Code contains an invalid value                     |
609 --|                                                                          |
610 --|  HISTORY                                                                 |
611 --|       27/02/2001 Uday Moogla - Created                                   |
612 --|                                                                          |
613 --+==========================================================================+
614 -- Func end of comments
615 
616 FUNCTION Validate_Whse_Code
617 (
618   p_whse_code  IN ic_whse_mst.whse_code%TYPE
619 )
620 RETURN BOOLEAN
621 IS
622   CURSOR  Cur_whse_code
623   IS
624     SELECT
625         whse_code
626     FROM
627         ic_whse_mst
628     WHERE
629         whse_code       = p_whse_code
630     AND delete_mark     = 0;
631 
632   l_whse_code  ic_whse_mst.whse_code%TYPE ;
633 
634 BEGIN
635 
636   OPEN Cur_whse_code;
637   FETCH Cur_whse_code INTO l_whse_code;
638   IF (Cur_whse_code%NOTFOUND)
639   THEN
640     CLOSE Cur_whse_code;
641     RETURN FALSE;
642   ELSE
643     CLOSE Cur_whse_code;
644     RETURN TRUE;
645   END IF;
646 
647 EXCEPTION
648   WHEN OTHERS THEN
649     RAISE;
650 
651 End Validate_Whse_Code;
652 --
653 
654 -- Func start of comments
655 --+==========================================================================+
656 --|  FUNCTION NAME                                                           |
657 --|       Validate_Item_Id                                                   |
658 --|                                                                          |
659 --|  USAGE                                                                   |
660 --|       Validates Item ID                                                  |
661 --|                                                                          |
662 --|  DESCRIPTION                                                             |
663 --|       This function validates that the Item ID exists on ic_whse_mst     |
664 --|                                                                          |
665 --|  PARAMETERS                                                              |
666 --|       p_item_id IN VARCHAR2(4) - Item ID                                 |
667 --|                                                                          |
668 --|  RETURNS                                                                 |
669 --|       TRUE  - If Item ID contains a valid value                          |
670 --|       FALSE - If Item ID contains an invalid value                       |
671 --|                                                                          |
672 --|  HISTORY                                                                 |
673 --|       27/02/2001 Uday Moogla - Created                                   |
674 --|                                                                          |
675 --+==========================================================================+
676 -- Func end of comments
677 
678 FUNCTION Validate_Item_Id
679 (
680   p_Item_Id  IN ic_item_mst.Item_Id%TYPE
681 )
682   RETURN BOOLEAN
683 IS
684   CURSOR  Cur_Item_Id
685   IS
686     SELECT
687         Item_Id
688     FROM
689         ic_item_mst
690     WHERE
691         Item_Id       = p_Item_Id
692     AND delete_mark   = 0
693     AND inactive_ind  = 0 ;
694 
695   l_Item_Id  ic_item_mst.Item_Id%TYPE ;
696 
697 BEGIN
698 
699   OPEN Cur_Item_Id;
700   FETCH Cur_Item_Id INTO l_Item_Id;
701   IF (Cur_Item_Id%NOTFOUND)
702   THEN
703     CLOSE Cur_Item_Id;
704     RETURN FALSE;
705   ELSE
706     CLOSE Cur_Item_Id;
707     RETURN TRUE;
708   END IF;
709 
710 EXCEPTION
711   WHEN OTHERS THEN
712     RAISE;
713 
714 End Validate_Item_Id;
715 --
716 
717 -- Func start of comments
718 --+==========================================================================+
719 --|  PROCEDURE NAME                                                          |
720 --|       Validate_Item_Id                                                   |
721 --|                                                                          |
722 --|  USAGE                                                                   |
723 --|       Validates Item ID                                                  |
724 --|                                                                          |
725 --|  DESCRIPTION                                                             |
726 --|       This function validates that the Item ID exists in ic_item_mst     |
727 --|       and returns item_um                                                |
728 --|                                                                          |
729 --|  PARAMETERS                                                              |
730 --|       p_item_id IN VARCHAR2(4) - Item ID                                 |
731 --|                                                                          |
732 --|  RETURNS                                                                 |
733 --|       Item_UM - If Item ID is valid                                      |
734 --|                                                                          |
735 --|  HISTORY                                                                 |
736 --|       27/02/2001 Uday Moogla - Created                                   |
737 --|                                                                          |
738 --+==========================================================================+
739 -- Func end of comments
740 
741 PROCEDURE Validate_Item_Id
742 (
743   p_Item_Id  IN ic_item_mst.Item_Id%TYPE
744 , x_Item_UM  OUT NOCOPY ic_item_mst.Item_UM%TYPE
745 )
746 IS
747   CURSOR  Cur_Item_UM
748   IS
749     SELECT
750            Item_UM
751     FROM
752            ic_item_mst
753     WHERE
754            Item_Id       = p_Item_Id
755     AND    delete_mark   = 0
756     AND    inactive_ind  = 0 ;
757 
758 BEGIN
759 
760   OPEN  Cur_Item_UM;
761   FETCH Cur_Item_UM INTO x_Item_UM;
762   CLOSE Cur_Item_UM;
763 
764 EXCEPTION
765   WHEN OTHERS THEN
766     RAISE;
767 
768 End Validate_Item_Id;
769 --
770 
771 -- Func start of comments
772 --+==========================================================================+
773 --|  FUNCTION NAME                                                           |
774 --|       Validate_Item_No                                                   |
775 --|                                                                          |
776 --|  USAGE                                                                   |
777 --|       Validates Item No                                                  |
778 --|                                                                          |
779 --|  DESCRIPTION                                                             |
780 --|       This function validates that the Item No exists on ic_whse_mst     |
781 --|                                                                          |
782 --|  PARAMETERS                                                              |
783 --|       p_item_No IN VARCHAR2(4) - Item No                                 |
784 --|                                                                          |
785 --|  RETURNS                                                                 |
786 --|       TRUE  - If Item No contains a valid value                          |
787 --|       FALSE - If Item No contains an invalid value                       |
788 --|                                                                          |
789 --|  HISTORY                                                                 |
790 --|       27/02/2001 Uday Moogla - Created                                   |
791 --|                                                                          |
792 --+==========================================================================+
793 -- Func end of comments
794 
795 FUNCTION Validate_Item_No
796 ( p_Item_No  IN ic_item_mst.Item_No%TYPE
797 )
798   RETURN NUMBER
799 IS
800   CURSOR  Cur_Item_Id
801   IS
802     SELECT
803         Item_Id
804     FROM
805         ic_item_mst
806     WHERE
807         Item_No       = p_Item_No
808     AND delete_mark   = 0
809     AND inactive_ind  = 0 ;
810 
811   l_Item_Id  ic_item_mst.Item_Id%TYPE ;
812 
813 BEGIN
814 
815   OPEN Cur_Item_Id;
816   FETCH Cur_Item_Id INTO l_Item_Id;
817   IF (Cur_Item_Id%NOTFOUND)
818   THEN
819     CLOSE Cur_Item_Id;
820   ELSE
821     CLOSE Cur_Item_Id;
822   END IF;
823 
824   RETURN l_Item_Id;
825 
826 EXCEPTION
827   WHEN OTHERS THEN
828     RAISE;
829 
830 End Validate_Item_No;
831 --
832 
833 -- Func start of comments
834 --+==========================================================================+
835 --|  PROCEDURE NAME                                                          |
836 --|       Validate_Item_No                                                   |
837 --|                                                                          |
838 --|  USAGE                                                                   |
839 --|       Validates Item No                                                  |
840 --|                                                                          |
841 --|  DESCRIPTION                                                             |
842 --|       This function validates that the Item No exists on ic_item_mst     |
843 --|                                                                          |
844 --|  PARAMETERS                                                              |
845 --|       p_item_No IN VARCHAR2(4) - Item No                                 |
846 --|                                                                          |
847 --|  RETURNS                                                                 |
848 --|       Item_Id - If Item No is valid                                      |
849 --|       Item_UM - If Item No is valid                                      |
850 --|                                                                          |
851 --|  HISTORY                                                                 |
852 --|       27/02/2001 Uday Moogla - Created                                   |
853 --|                                                                          |
854 --+==========================================================================+
855 -- Func end of comments
856 
857 PROCEDURE Validate_Item_No
858 (
859   p_Item_No  IN  ic_item_mst.Item_No%TYPE
860 , x_Item_Id  OUT NOCOPY ic_item_mst.Item_Id%TYPE
861 , x_Item_UM  OUT NOCOPY ic_item_mst.Item_UM%TYPE
862 )
863 IS
864   CURSOR  Cur_Item
865   IS
866     SELECT
867         Item_Id, Item_UM
868     FROM
869         ic_item_mst
870     WHERE
871         Item_No       = p_Item_No
872     AND delete_mark   = 0
873     AND inactive_ind  = 0 ;
874 
875 BEGIN
876 
877   OPEN Cur_Item;
878   FETCH Cur_Item INTO x_Item_Id, x_Item_UM ;
879   CLOSE Cur_Item;
880 
881 EXCEPTION
882   WHEN OTHERS THEN
883     RAISE;
884 
885 End Validate_Item_No;
886 --
887 
888 --+==========================================================================+
889 --|  FUNCTION NAME                                                           |
890 --|       Validate_itemcost_class                                            |
891 --|                                                                          |
892 --|  USAGE                                                                   |
893 --|       Validates itemcost_class                                           |
894 --|                                                                          |
895 --|  DESCRIPTION                                                             |
896 --|       This function validates that the Item Cost Class exists            |
897 --|       on ic_cost_cls                                                     |
898 --|                                                                          |
899 --|  PARAMETERS                                                              |
900 --|       p_itemcost_class class IN VARCHAR2(8) - Item Cost Class            |
901 --|                                                                          |
902 --|  RETURNS                                                                 |
903 --|       TRUE  - If Item Cost Class contains a valid value                  |
904 --|       FALSE - If Item Cost Class contains an invalid value               |
905 --|                                                                          |
906 --|  HISTORY                                                                 |
907 --|       11/13/1998 Mike Godfrey - Created                                  |
908 --|                                                                          |
909 --+==========================================================================+
910 -- Func end of comments
911 FUNCTION Validate_itemcost_class
912 (
913   p_itemcost_class IN ic_item_mst.itemcost_class%TYPE
914 )
915   RETURN BOOLEAN
916 IS
917 /* ANTHIYAG Bug#4906488
918   CURSOR Cur_itemcost_class
919   IS
920   SELECT
921 	itemcost_class
922   FROM
923 	ic_cost_cls
924   WHERE
925 	itemcost_class = p_itemcost_class
926   AND 	delete_mark    = 0;
927 
928   l_itemcost_class 	ic_cost_cls.itemcost_class%TYPE;
929 */
930 BEGIN
931 /* ANTHIYAG Bug#4906488
932   OPEN Cur_itemcost_class;
933   FETCH Cur_itemcost_class INTO l_itemcost_class;
934   IF (Cur_itemcost_class%NOTFOUND) THEN
935     CLOSE Cur_itemcost_class;
936     RETURN FALSE;
937   ELSE
938     CLOSE Cur_itemcost_class;
939     RETURN TRUE;
940   END IF;
941 */
942 RETURN TRUE;
943 EXCEPTION
944   WHEN OTHERS THEN
945     RAISE;
946 
947 END Validate_itemcost_class;
948 
949 -- Func start of comments
950 --+==========================================================================+
951 --|  FUNCTION NAME                                                           |
952 --|       Validate_Cost_Cmpntcls_Id                                          |
953 --|                                                                          |
954 --|  USAGE                                                                   |
955 --| 	  Validates Cost Component Class ID                                  |
956 --|                                                                          |
957 --|  DESCRIPTION                                                             |
958 --|       This function validates that the Cost Component Class Id exists    |
959 --|       on cm_cmpt_mst                                                     |
960 --|                                                                          |
961 --|  PARAMETERS                                                              |
962 --|       p_Cost_Cmpntcls_Id IN NUMBER(10) -- Cost Component Class Id        |
963 --|                                                                          |
964 --|  RETURNS                                                                 |
965 --|       TRUE  - if the Cost_Cmpntcls_Id exists                             |
966 --|       FALSE - if the Cost_Cmpntcls_Id does not exist                     |
967 --|                                                                          |
968 --|  HISTORY                                                                 |
969 --|       02/28/2001 Uday Moogala - Created                                  |
970 --|                                                                          |
971 --+==========================================================================+
972 -- Func end of comments
973 
974 FUNCTION Validate_Cost_Cmpntcls_Id
975 ( p_Cost_Cmpntcls_Id  IN cm_cmpt_mst.Cost_Cmpntcls_Id%TYPE
976 )
977 RETURN BOOLEAN
978 IS
979   CURSOR Cur_Cost_Cmpntcls_Id
980   IS
981     SELECT
982          Cost_Cmpntcls_Id
983     FROM
984          cm_cmpt_mst
985     WHERE
986          Cost_Cmpntcls_Id = p_Cost_Cmpntcls_Id
987     AND  delete_mark = 0 ;
988 
989   l_Cost_Cmpntcls_Id     cm_cmpt_mst.Cost_Cmpntcls_Id%TYPE ;
990 
991 BEGIN
992 
993   OPEN  Cur_Cost_Cmpntcls_Id;
994   FETCH Cur_Cost_Cmpntcls_Id INTO l_Cost_Cmpntcls_Id;
995   IF (Cur_Cost_Cmpntcls_Id%NOTFOUND)
996   THEN
997     CLOSE Cur_Cost_Cmpntcls_Id;
998     RETURN FALSE;
999   ELSE
1000     CLOSE Cur_Cost_Cmpntcls_Id;
1001     RETURN TRUE;
1002   END IF;
1003 
1004 EXCEPTION
1005   WHEN OTHERS THEN
1006     RAISE;
1007 
1008 End Validate_Cost_Cmpntcls_Id;
1009 
1010 
1011 -- Func start of comments
1012 --+==========================================================================+
1013 --|  PROCEDURE NAME                                                          |
1014 --|       Validate_Cost_Cmpntcls_Id                                          |
1015 --|                                                                          |
1016 --|  USAGE                                                                   |
1017 --|       Validates Cost Component Class ID                                  |
1018 --|                                                                          |
1019 --|  DESCRIPTION                                                             |
1020 --|       This function validates that the Cost Component Class Id exists    |
1021 --|       on cm_cmpt_mst and returns usage_ind                               |
1022 --|                                                                          |
1023 --|  PARAMETERS                                                              |
1024 --|       p_Cost_Cmpntcls_Id IN NUMBER(10) -- Cost Component Class Id        |
1025 --|                                                                          |
1026 --|  RETURNS                                                                 |
1027 --|       Usage_Ind - Components Usage Indicator                             |
1028 --|                                                                          |
1029 --|  HISTORY                                                                 |
1030 --|       02/28/2001 Uday Moogala - Created                                  |
1031 --|                                                                          |
1032 --+==========================================================================+
1033 -- Func end of comments
1034 
1035 PROCEDURE Validate_Cost_Cmpntcls_Id
1036 ( p_Cost_Cmpntcls_Id  IN  cm_cmpt_mst.Cost_Cmpntcls_Id%TYPE,
1037   x_Cost_Cmpntcls_Id  OUT NOCOPY cm_cmpt_mst.Cost_Cmpntcls_Code%TYPE,
1038   x_usage_ind         OUT NOCOPY cm_cmpt_mst.usage_ind%TYPE
1039 )
1040 IS
1041   CURSOR Cur_Cost_Cmpntcls_Id
1042   IS
1043     SELECT
1044          cost_cmpntcls_code, usage_ind
1045     FROM
1046          cm_cmpt_mst
1047     WHERE
1048          Cost_Cmpntcls_Id = p_Cost_Cmpntcls_Id
1049     AND  delete_mark = 0 ;
1050 
1051 BEGIN
1052 
1053   OPEN  Cur_Cost_Cmpntcls_Id;
1054   FETCH Cur_Cost_Cmpntcls_Id INTO x_Cost_Cmpntcls_Id, x_usage_ind;
1055   CLOSE Cur_Cost_Cmpntcls_Id;
1056 /*
1057   IF (Cur_Cost_Cmpntcls_Id%NOTFOUND)
1058   THEN
1059     CLOSE Cur_Cost_Cmpntcls_Id;
1060     RETURN FALSE;
1061   ELSE
1062     CLOSE Cur_Cost_Cmpntcls_Id;
1063     RETURN TRUE;
1064   END IF;
1065 */
1066 EXCEPTION
1067   WHEN OTHERS THEN
1068     RAISE;
1069 
1070 End Validate_Cost_Cmpntcls_Id;
1071 
1072 -- Func start of comments
1073 --+==========================================================================+
1074 --|  FUNCTION NAME                                                           |
1075 --|       Validate_Cost_Cmpntcls_Code                                        |
1076 --|                                                                          |
1077 --|  USAGE                                                                   |
1078 --|       Validates Cost Component Class Code                                |
1079 --|                                                                          |
1080 --|  DESCRIPTION                                                             |
1081 --|       This function validates that the Cost Component Class Code exists  |
1082 --|       on cm_cmpt_mst                                                     |
1083 --|                                                                          |
1084 --|  PARAMETERS                                                              |
1085 --|       p_Cost_Cmpntcls_Code IN NUMBER(10) -- Cost Component Class Code    |
1086 --|                                                                          |
1087 --|  RETURNS                                                                 |
1088 --|       TRUE  - if the Cost_Cmpntcls_Code exists                           |
1089 --|       FALSE - if the Cost_Cmpntcls_Code does not exist                   |
1090 --|                                                                          |
1091 --|  HISTORY                                                                 |
1092 --|       02/28/2001 Uday Moogala - Created                                  |
1093 --|                                                                          |
1094 --+==========================================================================+
1095 -- Func end of comments
1096 
1097 FUNCTION Validate_Cost_Cmpntcls_Code
1098 ( p_Cost_Cmpntcls_Code  IN cm_cmpt_mst.Cost_Cmpntcls_Code%TYPE
1099 )
1100 RETURN NUMBER
1101 IS
1102   CURSOR Cur_Cost_Cmpntcls_Id
1103   IS
1104     SELECT
1105          Cost_Cmpntcls_Id
1106     FROM
1107          cm_cmpt_mst
1108     WHERE
1109          Cost_Cmpntcls_Code = p_Cost_Cmpntcls_Code
1110     AND  delete_mark        = 0 ;
1111 
1112   l_Cost_Cmpntcls_Id     cm_cmpt_mst.Cost_Cmpntcls_Id%TYPE ;
1113 
1114 BEGIN
1115 
1116   OPEN  Cur_Cost_Cmpntcls_Id;
1117   FETCH Cur_Cost_Cmpntcls_Id INTO l_Cost_Cmpntcls_Id;
1118   IF (Cur_Cost_Cmpntcls_Id%NOTFOUND)
1119   THEN
1120     CLOSE Cur_Cost_Cmpntcls_Id;
1121   ELSE
1122     CLOSE Cur_Cost_Cmpntcls_Id;
1123   END IF;
1124 
1125   RETURN l_Cost_Cmpntcls_Id ;
1126 
1127 EXCEPTION
1128   WHEN OTHERS THEN
1129     RAISE;
1130 
1131 End Validate_Cost_Cmpntcls_Code;
1132 --
1133 
1134 -- Func start of comments
1135 --+==========================================================================+
1136 --|  PROCEDURE NAME                                                          |
1137 --|       Validate_Cost_Cmpntcls_Code                                        |
1138 --|                                                                          |
1139 --|  USAGE                                                                   |
1140 --|       Validates Cost Component Class Code                                |
1141 --|                                                                          |
1142 --|  DESCRIPTION                                                             |
1143 --|       This function validates that the Cost Component Class Code exists  |
1144 --|       on cm_cmpt_mst and returns Component Class Id and Usage Indicator. |
1145 --|                                                                          |
1146 --|  PARAMETERS                                                              |
1147 --|       p_Cost_Cmpntcls_Code IN NUMBER(10) -- Cost Component Class Code    |
1148 --|                                                                          |
1149 --|  RETURNS                                                                 |
1150 --|       Cost_Cmpntcls_Id                                                   |
1151 --|       Usage_Ind                                                          |
1152 --|                                                                          |
1153 --|  HISTORY                                                                 |
1154 --|       02/28/2001 Uday Moogala - Created                                  |
1155 --|                                                                          |
1156 --+==========================================================================+
1157 -- Func end of comments
1158 
1159 PROCEDURE Validate_Cost_Cmpntcls_Code
1160 ( p_Cost_Cmpntcls_Code  IN  cm_cmpt_mst.Cost_Cmpntcls_Code%TYPE,
1161   x_Cost_Cmpntcls_Id     OUT NOCOPY cm_cmpt_mst.Cost_Cmpntcls_Id%TYPE,
1162   x_Usage_Ind           OUT NOCOPY cm_cmpt_mst.Usage_Ind%TYPE
1163 )
1164 IS
1165   CURSOR Cur_Cost_Cmpntcls_Id
1166   IS
1167     SELECT
1168          Cost_Cmpntcls_Id, Usage_Ind
1169     FROM
1170          cm_cmpt_mst
1171     WHERE
1172          Cost_Cmpntcls_Code = p_Cost_Cmpntcls_Code
1173     AND  delete_mark        = 0 ;
1174 
1175 BEGIN
1176 
1177   OPEN  Cur_Cost_Cmpntcls_Id;
1178   FETCH Cur_Cost_Cmpntcls_Id INTO x_Cost_Cmpntcls_Id, x_Usage_Ind;
1179   CLOSE Cur_Cost_Cmpntcls_Id;
1180 /*
1181   IF (Cur_Cost_Cmpntcls_Id%NOTFOUND)
1182   THEN
1183     CLOSE Cur_Cost_Cmpntcls_Id;
1184   ELSE
1185     CLOSE Cur_Cost_Cmpntcls_Id;
1186   END IF;
1187 
1188   RETURN l_Cost_Cmpntcls_Id ;
1189 */
1190 EXCEPTION
1191   WHEN OTHERS THEN
1192     RAISE;
1193 
1194 End Validate_Cost_Cmpntcls_Code;
1195 --
1196 
1197 -- Func start of comments
1198 --+==========================================================================+
1199 --|  FUNCTION NAME                                                           |
1200 --|       Validate_gl_class                                                  |
1201 --|                                                                          |
1202 --|  USAGE                                                                   |
1203 --|       Validates gl_class                                                 |
1204 --|                                                                          |
1205 --|  DESCRIPTION                                                             |
1206 --|       This function validates that the GL Class code exists              |
1207 --|       on ic_gled_cls                                                     |
1208 --|                                                                          |
1209 --|  PARAMETERS                                                              |
1210 --|       p_gl_class IN VARCHAR2(8) - GL Class                               |
1211 --|                                                                          |
1212 --|  RETURNS                                                                 |
1213 --|       TRUE  - If GL Class Code contains a valid value                    |
1214 --|       FALSE - If GL Class Code contains an invalid value                 |
1215 --|                                                                          |
1216 --|  HISTORY                                                                 |
1217 --|       02/28/2001 Uday Moogala - Created                                  |
1218 --|                                                                          |
1219 --+==========================================================================+
1220 -- Func end of comments
1221 FUNCTION Validate_gl_class
1222 (
1223   p_gl_class IN ic_gled_cls.icgl_class%TYPE
1224 )
1225   RETURN BOOLEAN
1226 IS
1227 /* ANTHIYAG Bug#4906488
1228   CURSOR Cur_gl_class
1229   IS
1230     SELECT
1231 	 icgl_class
1232     FROM
1233 	 ic_gled_cls
1234     WHERE
1235 	ic_gled_cls.icgl_class  = p_gl_class
1236     AND ic_gled_cls.delete_mark = 0;
1237 
1238   l_gl_class ic_gled_cls.icgl_class%TYPE;
1239 */
1240 
1241 BEGIN
1242 /* ANTHIYAG Bug#4906488
1243   OPEN Cur_gl_class;
1244   FETCH Cur_gl_class INTO l_gl_class;
1245   IF (Cur_gl_class%NOTFOUND)
1246   THEN
1247     CLOSE Cur_gl_class;
1248     RETURN FALSE;
1249   ELSE
1250     CLOSE Cur_gl_class;
1251     RETURN TRUE;
1252   END IF;
1253 */
1254   RETURN TRUE;
1255 EXCEPTION
1256   WHEN OTHERS THEN
1257     RAISE;
1258 
1259 END Validate_gl_class;
1260 
1261 -- Func start of comments
1262 --+==========================================================================+
1263 --|  FUNCTION NAME                                                           |
1264 --|       Validate_Fmeff_Id                                                  |
1265 --|                                                                          |
1266 --|  USAGE                                                                   |
1267 --|       Validates Fmeff_Id                                                 |
1268 --|                                                                          |
1269 --|  DESCRIPTION                                                             |
1270 --|       This function validates that the Effectivity Id exists             |
1271 --|       on fm_form_eff                                                     |
1272 --|                                                                          |
1273 --|  PARAMETERS                                                              |
1274 --|       p_fneff_id IN VARCHAR2(8) -  Effectivity Id                        |
1275 --|                                                                          |
1276 --|  RETURNS                                                                 |
1277 --|       TRUE  - If Effectivity Id contains a valid value                   |
1278 --|       FALSE - If Effectivity Id contains an invalid value                |
1279 --|                                                                          |
1280 --|  HISTORY                                                                 |
1281 --|       02/28/2001 Uday Moogala - Created                                  |
1282 --|                                                                          |
1283 --+==========================================================================+
1284 -- Func end of comments
1285 
1286 FUNCTION Validate_Fmeff_Id
1287 (
1288   p_Fmeff_Id  IN fm_form_eff.Fmeff_Id%TYPE
1289 )
1290   RETURN BOOLEAN
1291 IS
1292   CURSOR Cur_fmeff_id
1293   IS
1294     SELECT
1295          fmeff_id
1296     FROM
1297          fm_form_eff
1298     WHERE
1299         fmeff_id  = p_fmeff_id
1300     AND delete_mark = 0;
1301 
1302   l_fmeff_id fm_form_eff.fmeff_id%TYPE;
1303 
1304 BEGIN
1305 
1306   OPEN Cur_fmeff_id;
1307   FETCH Cur_fmeff_id INTO l_fmeff_id;
1308   IF (Cur_fmeff_id%NOTFOUND)
1309   THEN
1310     CLOSE Cur_fmeff_id;
1311     RETURN FALSE;
1312   ELSE
1313     CLOSE Cur_fmeff_id;
1314     RETURN TRUE;
1315   END IF;
1316 
1317 EXCEPTION
1318   WHEN OTHERS THEN
1319     RAISE;
1320 
1321 End Validate_Fmeff_Id;
1322 
1323 -- Func start of comments
1324 --+==========================================================================+
1325 --|  FUNCTION NAME                                                           |
1326 --|       Validate_Resources                                                 |
1327 --|                                                                          |
1328 --|  USAGE                                                                   |
1329 --|       Validates Resources                                                |
1330 --|                                                                          |
1331 --|  DESCRIPTION                                                             |
1332 --|       This function validates that the Resources exists                  |
1333 --|       on cr_rsrc_mst                                                     |
1334 --|                                                                          |
1335 --|  PARAMETERS                                                              |
1336 --|       p_Resources IN VARCHAR2(8) -  Effectivity Id                       |
1337 --|                                                                          |
1338 --|  RETURNS                                                                 |
1339 --|       TRUE  - If Resources contains a valid value                        |
1340 --|       FALSE - If Resources contains an invalid value                     |
1341 --|                                                                          |
1342 --|  HISTORY                                                                 |
1343 --|       02/28/2001 Uday Moogala - Created                                  |
1344 --|                                                                          |
1345 --+==========================================================================+
1346 -- Func end of comments
1347 
1348 FUNCTION Validate_Resources
1349 (
1350   p_Resources  IN cr_rsrc_mst.Resources%TYPE
1351 )
1352   RETURN BOOLEAN
1353 IS
1354   CURSOR Cur_resources
1355   IS
1356     SELECT
1357          resources
1358     FROM
1359          cr_rsrc_mst
1360     WHERE
1361         resources  = p_Resources
1362     AND delete_mark = 0;
1363 
1364   l_Resources cr_rsrc_mst.Resources%TYPE ;
1365 
1366 BEGIN
1367 
1368   OPEN Cur_resources;
1369   FETCH Cur_resources INTO l_Resources;
1370   IF (Cur_resources%NOTFOUND)
1371   THEN
1372     CLOSE Cur_resources;
1373     RETURN FALSE;
1374   ELSE
1375     CLOSE Cur_resources;
1376     RETURN TRUE;
1377   END IF;
1378 
1379 EXCEPTION
1380   WHEN OTHERS THEN
1381     RAISE;
1382 
1383 End Validate_Resources;
1384 
1385 -- Func start of comments
1386 --+==========================================================================+
1387 --|  FUNCTION NAME                                                           |
1388 --|       Validate_Resources                                                 |
1389 --|                                                                          |
1390 --|  USAGE                                                                   |
1391 --|       Validates Resources                                                |
1392 --|                                                                          |
1393 --|  DESCRIPTION                                                             |
1394 --|       This function validates that the Resources exists                  |
1395 --|       on cr_rsrc_mst and returns usage UOM                               |
1396 --|                                                                          |
1397 --|  PARAMETERS                                                              |
1398 --|       p_Resources   IN  VARCHAR2(8) -  Resources                         |
1399 --|       x_resource_um OUT VARCHAR2(8) -  Usage UOM                         |
1400 --|                                                                          |
1401 --|  RETURNS                                                                 |
1402 --|       Resource UOM  - If Resources is valid                              |
1403 --|                                                                          |
1404 --|  HISTORY                                                                 |
1405 --|       04/12/2001 Uday Moogala - Created                                  |
1406 --|                                                                          |
1407 --+==========================================================================+
1408 -- Func end of comments
1409 
1410 PROCEDURE Validate_Resources
1411 (
1412   p_Resources        IN  cr_rsrc_mst.Resources%TYPE
1413 , x_resource_um      OUT NOCOPY cr_rsrc_mst.std_usage_um%TYPE
1414 , x_resource_um_type OUT NOCOPY sy_uoms_mst.um_type%TYPE
1415 )
1416 IS
1417   CURSOR Cur_resources
1418   IS
1419     SELECT
1420          rm.std_usage_um, um.um_type
1421     FROM
1422          sy_uoms_mst um, cr_rsrc_mst rm
1423     WHERE
1424         rm.resources  = p_Resources
1425     AND um.um_code    = rm.std_usage_um
1426     AND rm.delete_mark = 0;
1427 
1428 BEGIN
1429 
1430   OPEN Cur_resources;
1431   FETCH Cur_resources INTO x_resource_um, x_resource_um_type;
1432   CLOSE Cur_resources;
1433 
1434 EXCEPTION
1435   WHEN OTHERS THEN
1436     RAISE;
1437 
1438 End Validate_Resources;
1439 
1440 -- Func start of comments
1441 --+==========================================================================+
1442 --|  FUNCTION NAME                                                           |
1443 --|       Validate_Alloc_Id                                                  |
1444 --|                                                                          |
1445 --|  USAGE                                                                   |
1446 --|       Validates Allocation Id                                            |
1447 --|                                                                          |
1448 --|  DESCRIPTION                                                             |
1449 --|       This function validates that the Allocation Id exists              |
1450 --|       on cr_rsrc_mst                                                     |
1451 --|                                                                          |
1452 --|  PARAMETERS                                                              |
1453 --|       p_alloc_id IN NUMBER(10) -  Allocation Id                          |
1454 --|                                                                          |
1455 --|  RETURNS                                                                 |
1456 --|       TRUE  - If Allocation Id contains a valid value                    |
1457 --|       FALSE - If Allocation Id contains an invalid value                 |
1458 --|                                                                          |
1459 --|  HISTORY                                                                 |
1460 --|       02/28/2001 Uday Moogala - Created                                  |
1461 --|                                                                          |
1462 --+==========================================================================+
1463 -- Func end of comments
1464 
1465 FUNCTION Validate_Alloc_Id
1466 ( p_Alloc_Id  IN gl_aloc_mst.Alloc_Id%TYPE
1467 )
1468 RETURN BOOLEAN
1469 IS
1470   CURSOR Cur_Alloc_Id
1471   IS
1472     SELECT
1473          Alloc_Id
1474     FROM
1475          gl_aloc_mst
1476     WHERE
1477         Alloc_Id  = p_Alloc_Id
1478     AND delete_mark = 0;
1479 
1480   l_Alloc_Id 	gl_aloc_mst.Alloc_Id%TYPE ;
1481 
1482 BEGIN
1483   OPEN Cur_Alloc_Id;
1484   FETCH Cur_Alloc_Id INTO l_Alloc_Id;
1485   IF (Cur_Alloc_Id%NOTFOUND)
1486   THEN
1487     CLOSE Cur_Alloc_Id;
1488     RETURN FALSE;
1489   ELSE
1490     CLOSE Cur_Alloc_Id;
1491     RETURN TRUE;
1492   END IF;
1493 
1494 EXCEPTION
1495   WHEN OTHERS THEN
1496     RAISE;
1497 
1498 End Validate_Alloc_Id;
1499 
1500 -- Func start of comments
1501 --+==========================================================================+
1502 --|  FUNCTION NAME                                                           |
1503 --|       Fetch_Alloc_Id                                                     |
1504 --|                                                                          |
1505 --|  USAGE                                                                   |
1506 --|       Used to get allocation id for a given alloc_code and co_code       |
1507 --|                                                                          |
1508 --|  DESCRIPTION                                                             |
1509 --|       Fetches allocation id for a given alloc_code and co_code           |
1510 --|                                                                          |
1511 --|  PARAMETERS                                                              |
1512 --|       p_alloc_Code IN NUMBER(10) -  Allocation Code                      |
1513 --|       Co_Code      IN NUMBER(10) -  Company Code                         |
1514 --|                                                                          |
1515 --|  RETURNS                                                                 |
1516 --|	  Allocation Id                                                      |
1517 --|                                                                          |
1518 --|  HISTORY                                                                 |
1519 --|       02/28/2001 Uday Moogala - Created                                  |
1520 --|                                                                          |
1521 --+==========================================================================+
1522 -- Func end of comments
1523 
1524 FUNCTION Fetch_Alloc_Id
1525 ( p_Alloc_Code  IN gl_aloc_mst.Alloc_Code%TYPE,
1526   p_co_code     IN sy_orgn_mst.co_code%TYPE
1527 )
1528 RETURN NUMBER
1529 IS
1530   CURSOR Cur_Alloc_Id
1531   IS
1532     SELECT
1533          Alloc_id
1534     FROM
1535          gl_aloc_mst
1536     WHERE
1537         Alloc_Code	= p_Alloc_Code
1538     AND	Co_Code		= p_Co_Code
1539     AND delete_mark 	= 0;
1540 
1541   l_Alloc_id    gl_aloc_mst.Alloc_id%TYPE := '' ;
1542 
1543 BEGIN
1544 
1545   OPEN Cur_Alloc_Id;
1546   FETCH Cur_Alloc_Id INTO l_Alloc_Id;
1547   IF (Cur_Alloc_Id%NOTFOUND)
1548   THEN
1549     CLOSE Cur_Alloc_Id;
1550     RETURN l_Alloc_Id;
1551   ELSE
1552     CLOSE Cur_Alloc_Id;
1553     RETURN l_Alloc_Id;
1554   END IF;
1555 
1556 EXCEPTION
1557   WHEN OTHERS THEN
1558     RAISE;
1559 
1560 End Fetch_Alloc_Id ;
1561 
1562 -- Func start of comments
1563 --+==========================================================================+
1564 --|  FUNCTION NAME                                                           |
1565 --|       Validate_Basis_account_key                                         |
1566 --|                                                                          |
1567 --|  USAGE                                                                   |
1568 --|       Validates Basis Account Key                                        |
1569 --|                                                                          |
1570 --|  DESCRIPTION                                                             |
1571 --|       This function validates that the Basis Account exists              |
1572 --|                                                                          |
1573 --|  PARAMETERS                                                              |
1574 --|       p_Basis_account_key IN VARCHAR2(10)                                |
1575 --|                                                                          |
1576 --|  RETURNS                                                                 |
1577 --|	   0 - Valid Basis Account Key                                       |
1578 --|	  -1 - Invalid Accounting Unit No                                    |
1579 --|	  -2 - Invalid Account No                                            |
1580 --|                                                                          |
1581 --|  HISTORY                                                                 |
1582 --|       02/28/2001 Uday Moogala - Created                                  |
1583 --|                                                                          |
1584 --+==========================================================================+
1585 -- Func end of comments
1586 
1587 PROCEDURE Validate_Basis_account_key
1588 ( p_Basis_account_key   IN  gl_aloc_bas.Basis_account_key%TYPE
1589   , p_co_code		IN  sy_orgn_mst.co_code%TYPE
1590   , p_basis_description OUT NOCOPY VARCHAR2
1591   , p_return_status     OUT NOCOPY NUMBER
1592 )
1593 IS
1594 
1595     CURSOR Cur_get_seg_deli(p_co_code VARCHAR2) IS
1596       SELECT segment_delimiter
1597       FROM   gl_plcy_mst
1598       WHERE  co_code = p_co_code
1599            AND delete_mark = 0;
1600 
1601     CURSOR Cur_get_seg_cnttyp(p_co_code VARCHAR2,
1602                               ptype NUMBER) IS
1603       SELECT COUNT(*)
1604       FROM   gl_plcy_seg
1605       WHERE  co_code = p_co_code
1606        AND   type = decode(ptype, '', type, ptype)
1607        AND   delete_mark = 0;
1608 
1609     l_segment_delimiter gl_plcy_mst.segment_delimiter%TYPE;
1610     l_acct_no      	gl_acct_mst.acct_no%TYPE;
1611     l_acct_id      	gl_acct_mst.acct_id%TYPE;
1612     l_acctg_unit	gl_accu_mst.acctg_unit_no%TYPE ;
1613     l_acctg_unit_id	gl_accu_mst.acctg_unit_id%TYPE ;
1614     l_cnt_acctg_unit	NUMBER(10);
1615     l_cnt_seg		NUMBER(10);
1616 
1617     l_segments_tab	 gmf_get_mappings.my_opm_seg_values; -- to store segments
1618     l_accu_desc          gl_aloc_bas.basis_account_desc%TYPE ;
1619     l_acct_desc          gl_aloc_bas.basis_account_desc%TYPE ;
1620 
1621 BEGIN
1622 
1623     l_segments_tab := gmf_get_mappings.get_opm_segment_values(p_Basis_account_key, p_co_code, 2);
1624 
1625      -- Fetch Segment delimiter
1626     OPEN Cur_get_seg_deli(p_co_code);
1627     FETCH Cur_get_seg_deli INTO l_segment_delimiter;
1628     CLOSE Cur_get_seg_deli;
1629 
1630     -- Get Count of Accounting Units segments
1631     OPEN Cur_get_seg_cnttyp(p_co_code,0);
1632     FETCH Cur_get_seg_cnttyp INTO l_cnt_acctg_unit;
1633     CLOSE Cur_get_seg_cnttyp;
1634 
1635     -- Get # of segments
1636     OPEN Cur_get_seg_cnttyp(p_co_code,'');
1637     FETCH Cur_get_seg_cnttyp INTO l_cnt_seg;
1638     CLOSE Cur_get_seg_cnttyp;
1639 
1640     --
1641     -- getting account unit by concatinating individual segments based on
1642     -- count on segment types
1643     -- Accouting units always occur first
1644     --
1645     FOR i in 1..l_cnt_acctg_unit
1646     LOOP
1647       l_acctg_unit := l_acctg_unit || l_segments_tab(i) ;
1648       IF i < l_cnt_acctg_unit THEN	-- to avoid end delimiter.
1649         l_acctg_unit := l_acctg_unit || l_segment_delimiter ;
1650       END IF;
1651     END LOOP ;
1652 
1653     -- getting account by concatinating individual segments based on
1654     -- count on segment types
1655     FOR i in (l_cnt_acctg_unit+1)..l_cnt_seg
1656     LOOP
1657       l_acct_no := l_acct_no || l_segments_tab(i) ;
1658       IF i < l_cnt_seg THEN
1659         l_acct_no := l_acct_no || l_segment_delimiter ;
1660       END IF;
1661     END LOOP ;
1662 
1663     SELECT acctg_unit_desc
1664       INTO l_accu_desc
1665       FROM gl_accu_mst
1666      WHERE acctg_unit_no = l_acctg_unit
1667        AND co_code = p_co_code
1668        AND delete_mark = 0 ;
1669 
1670     SELECT acct_desc
1671       INTO l_acct_desc
1672       FROM gl_acct_mst
1673      WHERE acct_no = l_acct_no
1674        AND co_code = p_co_code
1675        AND delete_mark = 0 ;
1676 
1677     p_basis_description := substrb(l_accu_desc || ' ' || l_acct_desc,1,70) ;
1678     p_return_status     := 0 ;
1679 
1680     EXCEPTION
1681         WHEN OTHERS THEN
1682             IF ( l_accu_desc IS NULL )
1683             THEN
1684                 p_return_status := -1 ;       /* error in acctg_unit_no */
1685             ELSE
1686                 p_return_status := -2 ;       /* error in acct_no */
1687             END IF;
1688 END Validate_Basis_account_key ;
1689 
1690 -- Func start of comments
1691 --+==========================================================================+
1692 --|  FUNCTION NAME                                                           |
1693 --|       Validate_Usage_Um                                                  |
1694 --|                                                                          |
1695 --|  USAGE                                                                   |
1696 --|       Validates Usage UOM                                                |
1697 --|                                                                          |
1698 --|  DESCRIPTION                                                             |
1699 --|       This function validates that the Usage UOM exists                  |
1700 --|       in sy_uoms_mst                                                     |
1701 --|                                                                          |
1702 --|  PARAMETERS                                                              |
1703 --|       p_usage_um  IN VARCHAR2(10) -  Usage UOM                           |
1704 --|                                                                          |
1705 --|  RETURNS                                                                 |
1706 --|       TRUE  - If Usage UOM contains a valid value                        |
1707 --|       FALSE - If Usage UOM contains an invalid value                     |
1708 --|                                                                          |
1709 --|  HISTORY                                                                 |
1710 --|       02/28/2001 Uday Moogala - Created                                  |
1711 --|                                                                          |
1712 --+==========================================================================+
1713 -- Func end of comments
1714 
1715 FUNCTION Validate_Usage_Um
1716 ( p_Usage_Um   IN sy_uoms_mst.Um_Code%TYPE
1717 )
1718 RETURN BOOLEAN
1719 IS
1720   CURSOR Cur_Usage_Um
1721   IS
1722     SELECT
1723          Um_Code
1724     FROM
1725          sy_uoms_mst
1726     WHERE
1727         Um_Code   = p_Usage_Um ;
1728 
1729   l_Um_Code	sy_uoms_mst.Um_Code%TYPE ;
1730 
1731 BEGIN
1732 
1733   OPEN Cur_Usage_Um;
1734   FETCH Cur_Usage_Um INTO l_Um_Code;
1735   IF (Cur_Usage_Um%NOTFOUND)
1736   THEN
1737     CLOSE Cur_Usage_Um;
1738     RETURN FALSE;
1739   ELSE
1740     CLOSE Cur_Usage_Um;
1741     RETURN TRUE;
1742   END IF;
1743 
1744 EXCEPTION
1745   WHEN OTHERS THEN
1746     RAISE;
1747 
1748 END Validate_Usage_Um ;
1749 
1750 -- Func start of comments
1751 --+==========================================================================+
1752 --|  PROCEDURE NAME                                                          |
1753 --|       Validate_Usage_Um                                                  |
1754 --|                                                                          |
1755 --|  USAGE                                                                   |
1756 --|       Validates Usage UOM                                                |
1757 --|                                                                          |
1758 --|  DESCRIPTION                                                             |
1759 --|       This function validates that the Usage UOM exists                  |
1760 --|       in sy_uoms_mst and return UOM Type                                 |
1761 --|                                                                          |
1762 --|  PARAMETERS                                                              |
1763 --|       p_usage_um  IN VARCHAR2(10) -  Usage UOM                           |
1764 --|       x_um_type   IN VARCHAR2(10) -  UOM Type                            |
1765 --|                                                                          |
1766 --|  RETURNS                                                                 |
1767 --|       Um_Type - If Usage UOM contains a valid value                      |
1768 --|                                                                          |
1769 --|  HISTORY                                                                 |
1770 --|       04/12/2001 Uday Moogala - Created                                  |
1771 --|                                                                          |
1772 --+==========================================================================+
1773 -- Func end of comments
1774 
1775 PROCEDURE Validate_Usage_Um
1776 (
1777   p_Usage_Um   IN sy_uoms_mst.Um_Code%TYPE
1778 , x_Um_Type    OUT NOCOPY sy_uoms_mst.Um_Type%TYPE
1779 )
1780 IS
1781   CURSOR Cur_Usage_Um
1782   IS
1783     SELECT
1784          Um_Type
1785     FROM
1786          sy_uoms_mst
1787     WHERE
1788         Um_Code   = p_Usage_Um ;
1789 
1790 BEGIN
1791 
1792   OPEN Cur_Usage_Um;
1793   FETCH Cur_Usage_Um INTO x_Um_Type;
1794   CLOSE Cur_Usage_Um;
1795 
1796 EXCEPTION
1797   WHEN OTHERS THEN
1798     RAISE;
1799 
1800 END Validate_Usage_Um ;
1801 
1802 -- Func start of comments
1803 --+==========================================================================+
1804 --|  FUNCTION NAME                                                           |
1805 --|       Validate_lot_cost_mthd_code                                        |
1806 --|                                                                          |
1807 --|  USAGE                                                                   |
1808 --|       Validates lot cost_mthd_code                                       |
1809 --|                                                                          |
1810 --|  DESCRIPTION                                                             |
1811 --|       This function validates that the lot cost Method Code exists       |
1812 --|       on cm_mthd_mst                                                     |
1813 --|                                                                          |
1814 --|  PARAMETERS                                                              |
1815 --|       p_cost_mthd_code IN VARCHAR2(4) - Lot Cost Method Code             |
1816 --|                                                                          |
1817 --|  RETURNS                                                                 |
1818 --|       TRUE  - If Cost Method contains a valid value                      |
1819 --|       FALSE - If Cost Method contains an invalid value                   |
1820 --|                                                                          |
1821 --|  HISTORY                                                                 |
1822 --|       07-Apr-2004  Dinesh Vadivel - Created                              |
1823 --|      								     |
1824 --|                                                                          |
1825 --+==========================================================================+
1826 -- Func end of comments
1827 
1828 FUNCTION Validate_lot_cost_mthd_code
1829 (
1830 p_cost_mthd_code IN ic_item_mst.cost_mthd_code%TYPE
1831 )
1832 RETURN BOOLEAN
1833 IS
1834   CURSOR cur_cm_mthd_mst
1835   IS
1836   SELECT	cost_mthd_code
1837   FROM		cm_mthd_mst
1838   WHERE		cm_mthd_mst.cost_mthd_code = p_cost_mthd_code
1839   AND		cm_mthd_mst.delete_mark    = 0
1840   AND		lot_actual_cost = 1;
1841 
1842   l_cost_mthd_code ic_item_mst.cost_mthd_code%TYPE;
1843 
1844 BEGIN
1845 
1846   OPEN cur_cm_mthd_mst;
1847   FETCH cur_cm_mthd_mst INTO l_cost_mthd_code;
1848   IF (cur_cm_mthd_mst%NOTFOUND)
1849   THEN
1850     CLOSE cur_cm_mthd_mst;
1851     RETURN FALSE;
1852   ELSE
1853     CLOSE cur_cm_mthd_mst;
1854     RETURN TRUE;
1855   END IF;
1856 EXCEPTION
1857     WHEN OTHERS THEN
1858       RAISE;
1859 END Validate_lot_cost_mthd_code;
1860 
1861 -- Func start of comments
1862 --+==========================================================================+
1863 --|  FUNCTION NAME                                                           |
1864 --|       Validate_lot_id		                                     |
1865 --|                                                                          |
1866 --|  USAGE                                                                   |
1867 --|       Validates lot Id		                                     |
1868 --|                                                                          |
1869 --|  DESCRIPTION                                                             |
1870 --|       This function validates the lot and returns Lot ID from ic_lots_mst|
1871 --|                                                                          |
1872 --|  PARAMETERS                                                              |
1873 --|       p_item_id	IN	ic_item_mst.item_id%TYPE - Item Id	     |
1874 --|       p_lot_no	IN	ic_lots_mst.lot_no%TYPE - Lot No	     |
1875 --|	  p_sublot_no	IN	ic_lots_mst.sublot_no%TYPE -Sublot No        |
1876 --|									     |
1877 --|  RETURNS                                                                 |
1878 --|       Lot Id                NUMBER					     |
1879 --|                                                                          |
1880 --|  HISTORY                                                                 |
1881 --|       15-Apr-2004  Anand Thiyagarajan - Created                          |
1882 --|                                                                          |
1883 --+==========================================================================+
1884 -- Func end of comments
1885 
1886 FUNCTION VALIDATE_LOT_ID
1887 (
1888 p_item_id 		IN		ic_item_mst.item_id%TYPE
1889 , p_lot_no		IN		ic_lots_mst.lot_no%TYPE
1890 , p_sublot_no		IN		ic_lots_mst.sublot_no%TYPE
1891 )
1892 RETURN NUMBER
1893 IS
1894   l_lot_id		ic_lots_mst.lot_id%TYPE;
1895 BEGIN
1896 
1897   BEGIN
1898     SELECT	lot_id
1899     INTO	l_lot_id
1900     FROM   	ic_lots_mst
1901     WHERE	item_id = p_item_id
1902     AND		lot_no = p_lot_no
1903     AND		sublot_no = p_sublot_no
1904     AND		ROWNUM = 1;
1905   EXCEPTION
1906     WHEN NO_DATA_FOUND THEN
1907       l_lot_id := NULL;
1908   END;
1909 
1910   RETURN ( l_lot_id );
1911 
1912 END VALIDATE_LOT_ID;
1913 
1914 -- Func start of comments
1915 --+==========================================================================+
1916 --|  FUNCTION NAME                                                           |
1917 --|       Validate_lot_id		                                     |
1918 --|                                                                          |
1919 --|  USAGE                                                                   |
1920 --|       Validates lot Id		                                     |
1921 --|                                                                          |
1922 --|  DESCRIPTION                                                             |
1923 --|       This function validates that the lot ID exists in ic_lots_mst	     |
1924 --|                                                                          |
1925 --|  PARAMETERS                                                              |
1926 --|       p_item_id	IN	ic_item_mst.item_id%TYPE - Item Id	     |
1927 --|       p_lot_id	IN	ic_lots_mst.lot_ID%TYPE - Lot Id	     |
1928 --|									     |
1929 --|  RETURNS                                                                 |
1930 --|       TRUE		-	If Lot Exists in ic_lots_mst		     |
1931 --|       FALSE		-	If Lot Doesnt Exist in ic_lots_mst	     |
1932 --|                                                                          |
1933 --|  HISTORY                                                                 |
1934 --|       15-Apr-2004  Anand Thiyagarajan - Created                          |
1935 --|                                                                          |
1936 --+==========================================================================+
1937 -- Func end of comments
1938 
1939 FUNCTION VALIDATE_LOT_ID
1940 (
1941 p_item_id 		IN		ic_item_mst.item_id%TYPE
1942 , p_lot_id        	IN		ic_lots_mst.lot_id%TYPE
1943 )
1944 RETURN BOOLEAN
1945 IS
1946   l_cnt			NUMBER;
1947 BEGIN
1948 
1949   BEGIN
1950 	SELECT	1
1951 	INTO	l_cnt
1952 	FROM	ic_lots_mst
1953 	WHERE	item_id = p_item_id
1954         AND	lot_id = p_lot_id
1955 	AND	ROWNUM = 1;
1956   EXCEPTION
1957     WHEN NO_DATA_FOUND THEN
1958       l_cnt := 0;
1959   END;
1960 
1961   IF l_cnt > 0 THEN
1962     RETURN (TRUE);
1963   ELSE
1964     RETURN (FALSE);
1965   END IF;
1966 
1967 END VALIDATE_LOT_ID;
1968 
1969 -- Func start of comments
1970 --+==========================================================================+
1971 --|  FUNCTION NAME                                                           |
1972 --|       Validate_lot_No		                                     |
1973 --|                                                                          |
1974 --|  USAGE                                                                   |
1975 --|       Validates lot No		                                     |
1976 --|                                                                          |
1977 --|  DESCRIPTION                                                             |
1978 --|       This function validates that the lot No exists in ic_lots_mst	     |
1979 --|                                                                          |
1980 --|  PARAMETERS                                                              |
1981 --|       p_item_id	IN	ic_item_mst.item_id%TYPE - Item Id	     |
1982 --|       p_lot_no	IN	ic_lots_mst.lot_no%TYPE - Lot No	     |
1983 --|       p_sublot_no	IN	ic_lots_mst.lot_no%TYPE - sublot No	     |
1984 --|									     |
1985 --|  RETURNS                                                                 |
1986 --|       TRUE		-	If Lot Exists in ic_lots_mst		     |
1987 --|       FALSE		-	If Lot Doesnt Exist in ic_lots_mst	     |
1988 --|                                                                          |
1989 --|  HISTORY                                                                 |
1990 --|       15-Apr-2004  Anand Thiyagarajan - Created                          |
1991 --|                                                                          |
1992 --+==========================================================================+
1993 -- Func end of comments
1994 
1995 FUNCTION VALIDATE_LOT_NO
1996 (
1997 p_item_id 		IN		ic_item_mst.item_id%TYPE
1998 , p_lot_no        	IN		ic_lots_mst.lot_no%TYPE
1999 , p_sublot_no        	IN		ic_lots_mst.sublot_no%TYPE
2000 )
2001 RETURN BOOLEAN
2002 IS
2003   l_cnt			NUMBER;
2004 BEGIN
2005 
2006   BEGIN
2007 	SELECT	1
2008 	INTO	l_cnt
2009 	FROM	ic_lots_mst
2010         WHERE	item_id = p_item_id
2011         AND	lot_no = p_lot_no
2012 	AND	sublot_no = p_sublot_no
2013 	AND	ROWNUM = 1;
2014   EXCEPTION
2015     WHEN NO_DATA_FOUND THEN
2016       l_cnt := 0;
2017   END;
2018   IF l_cnt > 0 THEN
2019     RETURN (TRUE);
2020   ELSE
2021     RETURN (FALSE);
2022   END IF;
2023 
2024 END VALIDATE_LOT_NO;
2025 
2026 /* ANTHIYAG Added for Release 12.0 Start */
2027 
2028   /***************************************************************************************
2029   * FUNCTION NAME                                                                        *
2030   *   validate_legal_entity_id                                                           *
2031   *                                                                                      *
2032   * USAGE                                                                                *
2033   *   Validates Legal Entity                                                             *
2034   *                                                                                      *
2035   * DESCRIPTION                                                                          *
2036   *   This function validates that the Legal Entity Id exists                            *
2037   *                                                                                      *
2038   * PARAMETERS                                                                           *
2039   *   p_legal_entity_id             IN          xle_entity_profiles.legal_entity_id%TYPE *
2040   *                                                                                      *
2041   * RETURNS                                                                              *
2042   *   TRUE    - If Legal Entity Exists                                                   *
2043   *   FALSE   - If Legal Entity Doesnt Exist                                             *
2044   *                                                                                      *
2045   * HISTORY                                                                              *
2046   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2047   ***************************************************************************************/
2048   FUNCTION validate_legal_entity_id
2049   (
2050   p_legal_entity_id             IN          xle_entity_profiles.legal_entity_id%TYPE
2051   )
2052   RETURN BOOLEAN
2053   IS
2054 
2055     /**********
2056     * Cursors *
2057     **********/
2058 
2059     CURSOR      Cur_legal_entity
2060     IS
2061     SELECT      legal_entity_id
2062     FROM        xle_entity_profiles
2063     WHERE       legal_entity_id = p_legal_entity_id;
2064 
2065     /******************
2066     * Local Variables *
2067     ******************/
2068 
2069     l_legal_entity_id           xle_entity_profiles.legal_entity_id%TYPE ;
2070 
2071   BEGIN
2072     OPEN  Cur_legal_entity;
2073     FETCH Cur_legal_entity INTO l_legal_entity_id;
2074     IF    Cur_legal_entity%NOTFOUND
2075     THEN
2076       CLOSE   Cur_legal_entity;
2077       RETURN FALSE;
2078     ELSE
2079       CLOSE Cur_legal_entity;
2080       RETURN TRUE;
2081     END IF;
2082   EXCEPTION
2083     WHEN OTHERS THEN
2084       RAISE;
2085   END validate_legal_entity_id;
2086 
2087   /***************************************************************************************
2088   * FUNCTION NAME                                                                        *
2089   *   Validate_Cost_type_id                                                              *
2090   *                                                                                      *
2091   * USAGE                                                                                *
2092   *   Validates Cost Type Id                                                             *
2093   *                                                                                      *
2094   * DESCRIPTION                                                                          *
2095   *   This function validates that the Cost Type Id exists                               *
2096   *                                                                                      *
2097   * PARAMETERS                                                                           *
2098   *   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE            *
2099   *                                                                                      *
2100   * RETURNS                                                                              *
2101   *   TRUE    - If cost Type Exists                                                      *
2102   *   FALSE   - If Cost Type Doesnt Exist                                                *
2103   *                                                                                      *
2104   * HISTORY                                                                              *
2105   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2106   ***************************************************************************************/
2107   FUNCTION Validate_Cost_type_id
2108   (
2109   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE
2110   )
2111   RETURN BOOLEAN
2112   IS
2113 
2114     /**********
2115     * Cursors *
2116     **********/
2117 
2118     CURSOR      Cur_cost_type
2119     IS
2120     SELECT      cost_type_id
2121     FROM        cm_mthd_mst
2122     WHERE       cost_type_id = p_cost_type_id;
2123 
2124     /******************
2125     * Local Variables *
2126     ******************/
2127 
2128     l_cost_type_id            cm_mthd_mst.cost_Type_id%TYPE;
2129 
2130   BEGIN
2131     OPEN  Cur_cost_type;
2132     FETCH Cur_cost_type INTO l_cost_type_id;
2133     IF    Cur_cost_type%NOTFOUND
2134     THEN
2135       CLOSE   Cur_cost_type;
2136       RETURN FALSE;
2137     ELSE
2138       CLOSE Cur_cost_type;
2139       RETURN TRUE;
2140     END IF;
2141   EXCEPTION
2142     WHEN OTHERS THEN
2143       RAISE;
2144   END Validate_Cost_type_id;
2145 
2146   /***************************************************************************************
2147   * FUNCTION NAME                                                                        *
2148   *   Validate_Cost_type_id                                                              *
2149   *                                                                                      *
2150   * USAGE                                                                                *
2151   *   Validates Cost Type Id                                                             *
2152   *                                                                                      *
2153   * DESCRIPTION                                                                          *
2154   *   This function validates that the Cost Type Id exists                               *
2155   *                                                                                      *
2156   * PARAMETERS                                                                           *
2157   *   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE            *
2158   *   p_Type                        IN          VARCHAR2                                 *
2159   *                                                                                      *
2160   * RETURNS                                                                              *
2161   *   TRUE    - If cost Type Exists                                                      *
2162   *   FALSE   - If Cost Type Doesnt Exist                                                *
2163   *                                                                                      *
2164   * HISTORY                                                                              *
2165   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2166   ***************************************************************************************/
2167   FUNCTION Validate_Cost_type_id
2168   (
2169   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE,
2170   p_Type                        IN          VARCHAR2
2171   )
2172   RETURN BOOLEAN
2173   IS
2174 
2175     /**********
2176     * Cursors *
2177     **********/
2178 
2179     CURSOR      Cur_cost_type
2180     IS
2181     SELECT      cost_type_id
2182     FROM        cm_mthd_mst
2183     WHERE       cost_type_id = p_cost_type_id
2184     AND         (cost_type = decode(p_type, 'A', 1, 'S', 0, 'L', 6,'AS', 0) or cost_type = decode(p_type, 'A', 1, 'S', 0, 'L', 6, 'AS', 1));
2185 
2186     /******************
2187     * Local Variables *
2188     ******************/
2189 
2190     l_cost_type_id            cm_mthd_mst.cost_Type_id%TYPE;
2191 
2192   BEGIN
2193     OPEN  Cur_cost_type;
2194     FETCH Cur_cost_type INTO l_cost_type_id;
2195     IF    Cur_cost_type%NOTFOUND
2196     THEN
2197       CLOSE   Cur_cost_type;
2198       RETURN FALSE;
2199     ELSE
2200       CLOSE Cur_cost_type;
2201       RETURN TRUE;
2202     END IF;
2203   EXCEPTION
2204     WHEN OTHERS THEN
2205       RAISE;
2206   END Validate_Cost_type_id;
2207 
2208   /***************************************************************************************
2209   * FUNCTION NAME                                                                        *
2210   *   Validate_Cost_type_code                                                            *
2211   *                                                                                      *
2212   * USAGE                                                                                *
2213   *   Validates Cost Method Code                                                         *
2214   *                                                                                      *
2215   * DESCRIPTION                                                                          *
2216   *   This function validates that the Cost Method Code exists                           *
2217   *                                                                                      *
2218   * PARAMETERS                                                                           *
2219   *   p_cost_mthd_code              IN          cm_mthd_mst.cost_mthd_code%TYPE          *
2220   *                                                                                      *
2221   * RETURNS                                                                              *
2222   *   Cost Type Id                                                                       *
2223   *                                                                                      *
2224   * HISTORY                                                                              *
2225   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2226   ***************************************************************************************/
2227 
2228   FUNCTION Validate_cost_type_code
2229   (
2230   p_cost_mthd_code              IN          cm_mthd_mst.cost_mthd_code%TYPE
2231   )
2232   RETURN NUMBER
2233   IS
2234     /**********
2235     * Cursors *
2236     **********/
2237 
2238     CURSOR      Cur_cost_type
2239     IS
2240     SELECT      cost_type_id
2241     FROM        cm_mthd_mst
2242     WHERE       cost_mthd_code = p_cost_mthd_code;
2243 
2244     /******************
2245     * Local Variables *
2246     ******************/
2247 
2248     l_cost_type_id            cm_mthd_mst.cost_Type_id%TYPE;
2249 
2250   BEGIN
2251     OPEN  Cur_cost_type;
2252     FETCH Cur_cost_type INTO l_cost_type_id;
2253     IF    Cur_cost_type%NOTFOUND
2254     THEN
2255       CLOSE   Cur_cost_type;
2256       RETURN NULL;
2257     ELSE
2258       CLOSE Cur_cost_type;
2259       RETURN l_cost_type_id;
2260     END IF;
2261   EXCEPTION
2262     WHEN OTHERS THEN
2263       RAISE;
2264   END Validate_Cost_type_Code;
2265 
2266   /***************************************************************************************
2267   * FUNCTION NAME                                                                        *
2268   *   Validate_Cost_type_code                                                            *
2269   *                                                                                      *
2270   * USAGE                                                                                *
2271   *   Validates Cost Method Code                                                         *
2272   *                                                                                      *
2273   * DESCRIPTION                                                                          *
2274   *   This function validates that the Cost Method Code exists                           *
2275   *                                                                                      *
2276   * PARAMETERS                                                                           *
2277   *   p_cost_mthd_code              IN          cm_mthd_mst.cost_mthd_code%TYPE          *
2278   *   p_Type                        IN          VARCHAR2                                 *
2279   *                                                                                      *
2280   * RETURNS                                                                              *
2281   *   Cost Type Id                                                                       *
2282   *                                                                                      *
2283   * HISTORY                                                                              *
2284   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2285   ***************************************************************************************/
2286   FUNCTION Validate_cost_type_code
2287   (
2288   p_cost_mthd_code              IN          cm_mthd_mst.cost_mthd_code%TYPE,
2289   p_Type                        IN          VARCHAR2
2290   )
2291   RETURN NUMBER
2292   IS
2293     /**********
2294     * Cursors *
2295     **********/
2296 
2297     CURSOR      Cur_cost_type
2298     IS
2299     SELECT      cost_type_id
2300     FROM        cm_mthd_mst
2301     WHERE       cost_mthd_code = p_cost_mthd_code
2302     AND         (cost_type = decode(p_type, 'A', 1, 'S', 0, 'L', 6,'AS', 0) or cost_type = decode(p_type, 'A', 1, 'S', 0, 'L', 6, 'AS', 1));
2303 
2304     /******************
2305     * Local Variables *
2306     ******************/
2307 
2308     l_cost_type_id            cm_mthd_mst.cost_Type_id%TYPE;
2309 
2310   BEGIN
2311     OPEN  Cur_cost_type;
2312     FETCH Cur_cost_type INTO l_cost_type_id;
2313     IF    Cur_cost_type%NOTFOUND
2314     THEN
2315       CLOSE   Cur_cost_type;
2316       RETURN NULL;
2317     ELSE
2318       CLOSE Cur_cost_type;
2319       RETURN l_cost_type_id;
2320     END IF;
2321   EXCEPTION
2322     WHEN OTHERS THEN
2323       RAISE;
2324   END Validate_Cost_type_Code;
2325 
2326   /***************************************************************************************
2327   * FUNCTION NAME                                                                        *
2328   *   validate_period_id                                                                 *
2329   *                                                                                      *
2330   * USAGE                                                                                *
2331   *   Validates Period                                                                   *
2332   *                                                                                      *
2333   * DESCRIPTION                                                                          *
2334   *   This function validates that the Period Id exists                                  *
2335   *                                                                                      *
2336   * PARAMETERS                                                                           *
2337   *   p_period_id                   IN          gmf_period_statuses.period_id%TYPE       *
2338   *                                                                                      *
2339   * RETURNS                                                                              *
2340   *   TRUE    - If Period Exists                                                         *
2341   *   FALSE   - If Period Doesnt Exist                                                   *
2342   *                                                                                      *
2343   * HISTORY                                                                              *
2344   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2345   ***************************************************************************************/
2346   FUNCTION Validate_period_id
2347   (
2348   p_period_id                   IN          gmf_period_statuses.period_id%TYPE
2349   )
2350   RETURN BOOLEAN
2351   IS
2352 
2353     /**********
2354     * Cursors *
2355     **********/
2356 
2357     CURSOR      Cur_period
2358     IS
2359     SELECT      period_id
2360     FROM        gmf_period_statuses
2361     WHERE       period_id = p_period_id;
2362 
2363     /******************
2364     * Local Variables *
2365     ******************/
2366 
2367     l_period_id            gmf_period_statuses.period_id%TYPE;
2368 
2369   BEGIN
2370     OPEN  Cur_period;
2371     FETCH Cur_period INTO l_period_id;
2372     IF    Cur_period%NOTFOUND
2373     THEN
2374       CLOSE   Cur_period;
2375       RETURN FALSE;
2376     ELSE
2377       CLOSE Cur_period;
2378       RETURN TRUE;
2379     END IF;
2380   EXCEPTION
2381     WHEN OTHERS THEN
2382       RAISE;
2383   END Validate_period_id;
2384 
2385   /***************************************************************************************
2386   * FUNCTION NAME                                                                        *
2387   *   validate_period_id                                                                 *
2388   *                                                                                      *
2389   * USAGE                                                                                *
2390   *   Validates Period                                                                   *
2391   *                                                                                      *
2392   * DESCRIPTION                                                                          *
2393   *   This function validates that the Period Id exists                                  *
2394   *                                                                                      *
2395   * PARAMETERS                                                                           *
2396   *   p_period_id                   IN          gmf_period_statuses.period_id%TYPE       *
2397   *                                                                                      *
2398   * RETURNS                                                                              *
2399   *   TRUE    - If Period Exists                                                         *
2400   *   FALSE   - If Period Doesnt Exist                                                   *
2401   *                                                                                      *
2402   * HISTORY                                                                              *
2403   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2404   ***************************************************************************************/
2405   FUNCTION Validate_period_id
2406   (
2407   p_period_id                   IN          gmf_period_statuses.period_id%TYPE,
2408   p_cost_type_id                OUT NOCOPY  gmf_period_statuses.cost_type_id%TYPE
2409   )
2410   RETURN BOOLEAN
2411   IS
2412 
2413     /**********
2414     * Cursors *
2415     **********/
2416 
2417     CURSOR      Cur_period
2418     IS
2419     SELECT      period_id, cost_type_id
2420     FROM        gmf_period_statuses
2421     WHERE       period_id = p_period_id;
2422 
2423     /******************
2424     * Local Variables *
2425     ******************/
2426 
2427     l_period_id            gmf_period_statuses.period_id%TYPE;
2428 
2429   BEGIN
2430     OPEN  Cur_period;
2431     FETCH Cur_period INTO l_period_id, p_cost_type_id;
2432     IF    Cur_period%NOTFOUND
2433     THEN
2434       CLOSE   Cur_period;
2435       RETURN FALSE;
2436     ELSE
2437       CLOSE Cur_period;
2438       RETURN TRUE;
2439     END IF;
2440   EXCEPTION
2441     WHEN OTHERS THEN
2442       RAISE;
2443   END Validate_period_id;
2444 
2445   /***************************************************************************************
2446   * FUNCTION NAME                                                                        *
2447   *   Validate_period_code                                                               *
2448   *                                                                                      *
2449   * USAGE                                                                                *
2450   *   Validates Period Code                                                              *
2451   *                                                                                      *
2452   * DESCRIPTION                                                                          *
2453   *   This function validates that the Period Code exists                                *
2454   *                                                                                      *
2455   * PARAMETERS                                                                           *
2456   *   p_organization_id             IN          mtl_organizations.organization_id%TYPE   *
2457   *   p_calendar_code               IN          cm_cldr_hdr_b.calendar_code%TYPE         *
2458   *   p_period_code                 IN          cm_cldr_dtl.period_code%TYPE             *
2459   *   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE            *
2460   *                                                                                      *
2461   * RETURNS                                                                              *
2462   *   Period Id                                                                          *
2463   *                                                                                      *
2464   * HISTORY                                                                              *
2465   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2466   ***************************************************************************************/
2467   FUNCTION Validate_period_code
2468   (
2469   p_organization_id             IN          mtl_organizations.organization_id%TYPE,
2470   p_calendar_code               IN          cm_cldr_hdr_b.calendar_code%TYPE,
2471   p_period_code                 IN          cm_cldr_dtl.period_code%TYPE,
2472   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE
2473   )
2474   RETURN NUMBER
2475   IS
2476 
2477     /**********
2478     * Cursors *
2479     **********/
2480 
2481     CURSOR      Cur_period
2482     IS
2483     SELECT      period_id
2484     FROM        gmf_period_statuses a,
2485                 org_organization_definitions b
2486     WHERE       b.organization_id = p_organization_id
2487     AND         b.legal_entity = a.legal_entity_id
2488     AND         a.calendar_code = p_calendar_code
2489     AND         a.period_code = p_period_code
2490     AND         a.cost_type_id = p_cost_type_id;
2491 
2492     /******************
2493     * Local Variables *
2494     ******************/
2495 
2496     l_period_id            gmf_period_statuses.period_id%TYPE;
2497 
2498   BEGIN
2499     OPEN  Cur_period;
2500     FETCH Cur_period INTO l_period_id;
2501     IF    Cur_period%NOTFOUND
2502     THEN
2503       CLOSE   Cur_period;
2504       RETURN NULL;
2505     ELSE
2506       CLOSE Cur_period;
2507       RETURN l_period_id;
2508     END IF;
2509   EXCEPTION
2510     WHEN OTHERS THEN
2511       RAISE;
2512   END Validate_period_code;
2513 
2514   /***************************************************************************************
2515   * FUNCTION NAME                                                                        *
2516   *   validate_organization_id                                                           *
2517   *                                                                                      *
2518   * USAGE                                                                                *
2519   *   Validates Organization                                                             *
2520   *                                                                                      *
2521   * DESCRIPTION                                                                          *
2522   *   This function validates that the Organization Id exists                            *
2523   *                                                                                      *
2524   * PARAMETERS                                                                           *
2525   *   p_organization_id             IN          mtl_organizations.organization_id%TYPE   *
2526   *                                                                                      *
2527   * RETURNS                                                                              *
2528   *   TRUE    - If Organization Exists                                                   *
2529   *   FALSE   - If Organization Doesnt Exist                                             *
2530   *                                                                                      *
2531   * HISTORY                                                                              *
2532   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2533   ***************************************************************************************/
2534   FUNCTION Validate_organization_id
2535   (
2536   p_organization_id             IN          mtl_organizations.organization_id%TYPE
2537   )
2538   RETURN BOOLEAN
2539   IS
2540 
2541     /**********
2542     * Cursors *
2543     **********/
2544 
2545     CURSOR      Cur_organization
2546     IS
2547     SELECT      organization_id
2548     FROM        mtl_parameters
2549     WHERE       organization_id = p_organization_id
2550     AND         process_enabled_flag = 'Y';
2551 
2552     /******************
2553     * Local Variables *
2554     ******************/
2555 
2556     l_organization_id            mtl_organizations.organization_id%TYPE;
2557 
2558   BEGIN
2559     OPEN  Cur_organization;
2560     FETCH Cur_organization INTO l_organization_id;
2561     IF    Cur_organization%NOTFOUND
2562     THEN
2563       CLOSE   Cur_organization;
2564       RETURN FALSE;
2565     ELSE
2566       CLOSE Cur_organization;
2567       RETURN TRUE;
2568     END IF;
2569   EXCEPTION
2570     WHEN OTHERS THEN
2571       RAISE;
2572   END Validate_organization_id;
2573 
2574   /***************************************************************************************
2575   * FUNCTION NAME                                                                        *
2576   *   Validate_Organization_code                                                         *
2577   *                                                                                      *
2578   * USAGE                                                                                *
2579   *   Validates Organization Code                                                        *
2580   *                                                                                      *
2581   * DESCRIPTION                                                                          *
2582   *   This function validates that the Organization Code exists                          *
2583   *                                                                                      *
2584   * PARAMETERS                                                                           *
2585   *   p_organization_code           IN          mtl_organizations.organization_code%TYPE *
2586   *                                                                                      *
2587   * RETURNS                                                                              *
2588   *   Organization Id                                                                    *
2589   *                                                                                      *
2590   * HISTORY                                                                              *
2591   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2592   ***************************************************************************************/
2593   FUNCTION Validate_Organization_code
2594   (
2595   p_organization_code           IN          mtl_parameters.organization_code%TYPE
2596   )
2597   RETURN NUMBER
2598   IS
2599 
2600     /**********
2601     * Cursors *
2602     **********/
2603 
2604     CURSOR      Cur_organization
2605     IS
2606     SELECT      organization_id
2607     FROM        mtl_parameters
2608     WHERE       organization_code = p_organization_code;
2609 
2610     /******************
2611     * Local Variables *
2612     ******************/
2613 
2614     l_organization_id            mtl_organizations.organization_id%TYPE;
2615 
2616   BEGIN
2617     OPEN  Cur_organization;
2618     FETCH Cur_organization INTO l_organization_id;
2619     IF    Cur_organization%NOTFOUND
2620     THEN
2621       CLOSE   Cur_organization;
2622       RETURN NULL;
2623     ELSE
2624       CLOSE Cur_organization;
2625       RETURN l_organization_id;
2626     END IF;
2627   EXCEPTION
2628     WHEN OTHERS THEN
2629       RAISE;
2630   END Validate_Organization_code;
2631 
2632   /***************************************************************************************
2633   * FUNCTION NAME                                                                        *
2634   *   Validate_inventory_item_id                                                         *
2635   *                                                                                      *
2636   * USAGE                                                                                *
2637   *   Validates Inventory Item Id                                                        *
2638   *                                                                                      *
2639   * DESCRIPTION                                                                          *
2640   *   This function validates that the Inventory Item Id exists                          *
2641   *                                                                                      *
2642   * PARAMETERS                                                                           *
2643   *   p_inventory_item_id           IN          mtl_system_items_b.inventory_item_id%TYPE*
2644   *   p_organization_id             IN          mtl_organizations.organization_id%TYPE   *
2645   *                                                                                      *
2646   * RETURNS                                                                              *
2647   *   TRUE    - If Item Exists                                                           *
2648   *   FALSE   - If Item Doesnt Exist                                                     *
2649   *                                                                                      *
2650   * HISTORY                                                                              *
2651   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2652   ***************************************************************************************/
2653   FUNCTION Validate_inventory_item_id
2654   (
2655   p_inventory_item_id           IN          mtl_system_items_b.inventory_item_id%TYPE,
2656   p_organization_id             IN          mtl_organizations.organization_id%TYPE
2657   )
2658   RETURN BOOLEAN
2659   IS
2660 
2661     /**********
2662     * Cursors *
2663     **********/
2664 
2665     CURSOR      Cur_item
2666     IS
2667     SELECT      inventory_item_id
2668     FROM        mtl_system_items_b
2669     WHERE       inventory_item_id = p_inventory_item_id
2670     AND         organization_id = p_organization_id;
2671 
2672     /******************
2673     * Local Variables *
2674     ******************/
2675 
2676     l_inventory_item_id             mtl_system_items_b.inventory_item_id%TYPE;
2677 
2678   BEGIN
2679     OPEN  Cur_item;
2680     FETCH Cur_item INTO l_inventory_item_id;
2681     IF    Cur_item%NOTFOUND
2682     THEN
2683       CLOSE   Cur_item;
2684       RETURN FALSE;
2685     ELSE
2686       CLOSE Cur_item;
2687       RETURN TRUE;
2688     END IF;
2689   EXCEPTION
2690     WHEN OTHERS THEN
2691       RAISE;
2692   END Validate_inventory_item_id;
2693 
2694   /***************************************************************************************
2695   * FUNCTION NAME                                                                        *
2696   *   Validate_item_number                                                               *
2697   *                                                                                      *
2698   * USAGE                                                                                *
2699   *   Validates Item Number                                                              *
2700   *                                                                                      *
2701   * DESCRIPTION                                                                          *
2702   *   This function validates that the Item Number exists                                *
2703   *                                                                                      *
2704   * PARAMETERS                                                                           *
2705   *   p_organization_id             IN          mtl_organizations.organization_id%TYPE   *
2706   *   p_item_number                 IN          mtl_item_flexfields.item_number%TYPE     *
2707   *                                                                                      *
2708   * RETURNS                                                                              *
2709   *   Inventory Item Id                                                                  *
2710   *                                                                                      *
2711   * HISTORY                                                                              *
2712   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2713   ***************************************************************************************/
2714   FUNCTION Validate_item_number
2715   (
2716   p_item_number                 IN          mtl_item_flexfields.item_number%TYPE,
2717   p_organization_id             IN          mtl_organizations.organization_id%TYPE
2718   )
2719   RETURN NUMBER
2720   IS
2721 
2722     /**********
2723     * Cursors *
2724     **********/
2725 
2726     CURSOR      Cur_item
2727     IS
2728     SELECT      inventory_item_id
2729     FROM        mtl_item_flexfields
2730     WHERE       item_number = p_item_number
2731     AND         organization_id = p_organization_id;
2732 
2733     /******************
2734     * Local Variables *
2735     ******************/
2736 
2737     l_inventory_item_id             mtl_system_items_b.inventory_item_id%TYPE;
2738 
2739   BEGIN
2740     OPEN  Cur_item;
2741     FETCH Cur_item INTO l_inventory_item_id;
2742     IF    Cur_item%NOTFOUND
2743     THEN
2744       CLOSE   Cur_item;
2745       RETURN NULL;
2746     ELSE
2747       CLOSE Cur_item;
2748       RETURN l_inventory_item_id;
2749     END IF;
2750   EXCEPTION
2751     WHEN OTHERS THEN
2752       RAISE;
2753   END Validate_item_number;
2754 
2755   /***************************************************************************************
2756   * FUNCTION NAME                                                                        *
2757   *   Validate_lot_number                                                                *
2758   *                                                                                      *
2759   * USAGE                                                                                *
2760   *   Validates Lot Number                                                               *
2761   *                                                                                      *
2762   * DESCRIPTION                                                                          *
2763   *   This function validates that the Lot Number exists                                 *
2764   *                                                                                      *
2765   * PARAMETERS                                                                           *
2766   *   p_inventory_item_id           IN          mtl_system_items_b.inventory_item_id%TYPE*
2767   *   p_organization_id             IN          mtl_organizations.organization_id%TYPE   *
2768   *   p_lot_number                  in          mtl_lot_numbers.lot_number%TYPE          *
2769   *                                                                                      *
2770   * RETURNS                                                                              *
2771   *   TRUE    - If Lot Exists                                                            *
2772   *   FALSE   - If Lot Doesnt Exist                                                      *
2773   *                                                                                      *
2774   * HISTORY                                                                              *
2775   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2776   ***************************************************************************************/
2777   FUNCTION Validate_Lot_Number
2778   (
2779   p_lot_number                  IN          mtl_lot_numbers.lot_number%TYPE,
2780   p_inventory_item_id           IN          mtl_system_items_b.inventory_item_id%TYPE,
2781   p_organization_id             IN          mtl_organizations.organization_id%TYPE
2782   )
2783   RETURN BOOLEAN
2784   IS
2785 
2786     /**********
2787     * Cursors *
2788     **********/
2789 
2790     CURSOR      Cur_lot_number
2791     IS
2792     SELECT      lot_number
2793     FROM        mtl_lot_numbers
2794     WHERE       inventory_item_id = p_inventory_item_id
2795     AND         organization_id = p_organization_id
2796     AND         lot_number = p_lot_number;
2797 
2798     /******************
2799     * Local Variables *
2800     ******************/
2801 
2802     l_lot_number              mtl_lot_numbers.lot_number%TYPE;
2803 
2804   BEGIN
2805     OPEN  Cur_lot_number;
2806     FETCH Cur_lot_number INTO l_lot_number;
2807     IF    Cur_lot_number%NOTFOUND
2808     THEN
2809       CLOSE   Cur_lot_number;
2810       RETURN FALSE;
2811     ELSE
2812       CLOSE Cur_lot_number;
2813       RETURN TRUE;
2814     END IF;
2815   EXCEPTION
2816     WHEN OTHERS THEN
2817       RAISE;
2818   END Validate_Lot_Number;
2819 
2820   /***************************************************************************************
2821   * FUNCTION NAME                                                                        *
2822   *   Validate_lot_Cost_type_id                                                          *
2823   *                                                                                      *
2824   * USAGE                                                                                *
2825   *   Validates Lot Cost Type Id                                                         *
2826   *                                                                                      *
2827   * DESCRIPTION                                                                          *
2828   *   This function validates that the Lot Cost Type Id exists                           *
2829   *                                                                                      *
2830   * PARAMETERS                                                                           *
2831   *   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE            *
2832   *                                                                                      *
2833   * RETURNS                                                                              *
2834   *   TRUE    - If Lot Cost Type Exists                                                  *
2835   *   FALSE   - If Lot Cost Type Doesnt Exist                                            *
2836   *                                                                                      *
2837   * HISTORY                                                                              *
2838   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2839   ***************************************************************************************/
2840   FUNCTION Validate_Lot_Cost_type_id
2841   (
2842   p_cost_type_id                IN          cm_mthd_mst.cost_type_id%TYPE
2843   )
2844   RETURN BOOLEAN
2845   IS
2846 
2847     /**********
2848     * Cursors *
2849     **********/
2850     CURSOR        cur_cm_mthd_mst
2851     IS
2852     SELECT	      cost_type_id
2853     FROM		      cm_mthd_mst
2854     WHERE		      cm_mthd_mst.cost_type_id = p_cost_type_id
2855     AND		        cm_mthd_mst.delete_mark    = 0
2856     AND		        cost_type = 6;
2857 
2858     l_cost_type_id    cm_mthd_mst.cost_type_id%TYPE;
2859 
2860   BEGIN
2861     OPEN  cur_cm_mthd_mst;
2862     FETCH cur_cm_mthd_mst INTO l_cost_type_id;
2863     IF cur_cm_mthd_mst%NOTFOUND
2864     THEN
2865       CLOSE cur_cm_mthd_mst;
2866       RETURN FALSE;
2867     ELSE
2868       CLOSE cur_cm_mthd_mst;
2869       RETURN TRUE;
2870     END IF;
2871   EXCEPTION
2872     WHEN OTHERS THEN
2873       RAISE;
2874   END Validate_Lot_Cost_type_id;
2875 
2876   /***************************************************************************************
2877   * FUNCTION NAME                                                                        *
2878   *   Validate_Lot_Cost_Type                                                       *
2879   *                                                                                      *
2880   * USAGE                                                                                *
2881   *   Validates Lot Cost Method Code                                                     *
2882   *                                                                                      *
2883   * DESCRIPTION                                                                          *
2884   *   This function validates that the Lot Cost Method Code exists                       *
2885   *                                                                                      *
2886   * PARAMETERS                                                                           *
2887   *   p_cost_mthd_code              IN          cm_mthd_mst.cost_mthd_code%TYPE          *
2888   *                                                                                      *
2889   * RETURNS                                                                              *
2890   *   Lot Cost Type Id                                                                   *
2891   *                                                                                      *
2892   * HISTORY                                                                              *
2893   *   20-Oct-2005  Anand Thiyagarajan - Created                                          *
2894   ***************************************************************************************/
2895   FUNCTION Validate_Lot_Cost_Type
2896   (
2897   p_cost_mthd_code              IN          cm_mthd_mst.cost_mthd_code%TYPE
2898   )
2899   RETURN NUMBER
2900   IS
2901 
2902     /**********
2903     * Cursors *
2904     **********/
2905     CURSOR        cur_cm_mthd_mst
2906     IS
2907     SELECT	      cost_type_id
2908     FROM		      cm_mthd_mst
2909     WHERE		      cm_mthd_mst.cost_mthd_code = p_cost_mthd_code
2910     AND		        cm_mthd_mst.delete_mark    = 0
2911     AND		        cost_type = 6;
2912 
2913     l_cost_type_id        cm_mthd_mst.cost_type_id%TYPE;
2914 
2915   BEGIN
2916     OPEN  cur_cm_mthd_mst;
2917     FETCH cur_cm_mthd_mst INTO l_cost_type_id;
2918     IF cur_cm_mthd_mst%NOTFOUND
2919     THEN
2920       CLOSE cur_cm_mthd_mst;
2921       RETURN NULL;
2922     ELSE
2923       CLOSE cur_cm_mthd_mst;
2924       RETURN l_cost_type_id;
2925     END IF;
2926   EXCEPTION
2927     WHEN OTHERS THEN
2928       RAISE;
2929   END Validate_Lot_Cost_Type;
2930 
2931 
2932  /***************************************************************************************
2933   * FUNCTION NAME                                                                        *
2934   *   Fetch_alloc_id                                                                     *
2935   *                                                                                      *
2936   * USAGE                                                                                *
2937   *   gets teh alloc id                                                                  *
2938   *                                                                                      *
2939   * DESCRIPTION                                                                          *
2940   *   This function gets the alloc id using alloc code and le id                         *
2941   *                                                                                      *
2942   * PARAMETERS                                                                           *
2943   *   p_Alloc_Code  IN gl_aloc_mst.Alloc_Code%TYPE                                       *
2944   *   p_le_id     IN xle_entity_profiles.legal_entity_id%TYPE                            *
2945   *                                                                                      *
2946   * RETURNS                                                                              *
2947   *   Alloc Id                                                                           *
2948   *                                                                                      *
2949   * HISTORY                                                                              *
2950   *   20-Oct-2005  Jahnavi Boppana   - Created                                           *
2951   ***************************************************************************************/
2952 FUNCTION Fetch_Alloc_Id
2953 (
2954   p_Alloc_Code  IN gl_aloc_mst.Alloc_Code%TYPE
2955 , p_le_id     IN xle_entity_profiles.legal_entity_id%TYPE
2956 )
2957 RETURN NUMBER
2958    IS
2959      CURSOR Cur_Alloc_Id
2960      IS
2961        SELECT
2962             Alloc_id
2963        FROM
2964             gl_aloc_mst
2965        WHERE
2966            Alloc_Code	= p_Alloc_Code
2967        AND	legal_entity_id 	= p_le_id
2968        AND delete_mark 	= 0;
2969 
2970      l_Alloc_id    gl_aloc_mst.Alloc_id%TYPE := '' ;
2971 
2972 BEGIN
2973 
2974      OPEN Cur_Alloc_Id;
2975      FETCH Cur_Alloc_Id INTO l_Alloc_Id;
2976      IF (Cur_Alloc_Id%NOTFOUND)
2977      THEN
2978        CLOSE Cur_Alloc_Id;
2979        RETURN NULL;
2980      ELSE
2981        CLOSE Cur_Alloc_Id;
2982        RETURN l_Alloc_Id;
2983      END IF;
2984 
2985    EXCEPTION
2986      WHEN OTHERS THEN
2987        RAISE;
2988 
2989 End Fetch_Alloc_Id ;
2990 
2991 
2992 /***************************************************************************************
2993   * FUNCTION NAME                                                                        *
2994   *   Validate_Basis_account_key                                                         *
2995   *                                                                                      *
2996   * USAGE                                                                                *
2997   *   Validates the Basis_account_key                                                    *
2998   *                                                                                      *
2999   * DESCRIPTION                                                                          *
3000   *   This function returns the account id for teh account key                           *
3001   *                                                                                      *
3002   * PARAMETERS                                                                           *
3003   *   p_Basis_account_key   IN  gl_aloc_bas.Basis_account_key%TYPE                       *
3004   *   p_le_id     IN xle_entity_profiles.legal_entity_id%TYPE                            *
3005   *                                                                                      *
3006   * RETURNS                                                                              *
3007   *   Account Id                                                                         *
3008   *                                                                                      *
3009   * HISTORY                                                                              *
3010   *   20-Oct-2005  Jahnavi Boppana   - Created                                           *
3011   ***************************************************************************************/
3012 
3013 
3014 FUNCTION Validate_Basis_account_key
3015 (
3016   p_Basis_account_key   IN  gl_aloc_bas.Basis_account_key%TYPE
3017 , p_le_id     IN xle_entity_profiles.legal_entity_id%TYPE
3018 )
3019 RETURN NUMBER
3020  IS
3021 
3022    CURSOR Cur_chart_of_accounts_id
3023      IS
3024        SELECT chart_of_accounts_id
3025        FROM  gmf_legal_entities
3026        WHERE legal_entity_id = p_le_id ;
3027 
3028    l_account_id gl_aloc_bas.Basis_account_id%TYPE;
3029    l_chart_of_accounts_id gmf_legal_entities.chart_of_accounts_id%TYPE;
3030 
3031   BEGIN
3032 
3033      OPEN Cur_chart_of_accounts_id;
3034      FETCH Cur_chart_of_accounts_id INTO l_chart_of_accounts_id;
3035      IF (Cur_chart_of_accounts_id%NOTFOUND)
3036      THEN
3037        CLOSE Cur_chart_of_accounts_id;
3038        RETURN NULL;
3039      ELSE
3040        CLOSE Cur_chart_of_accounts_id;
3041        l_account_id := fnd_flex_ext.get_ccid(application_short_name  	=> 'SQLGL',
3042                                                key_flex_code            => 'GL#',
3043                                                structure_number         => l_chart_of_accounts_id,
3044                                                validation_date          => SYSDATE,
3045                                                concatenated_segments    =>  p_Basis_account_key);
3046        IF l_account_id = 0 THEN
3047           RETURN NULL;
3048        ELSE
3049           RETURN l_account_id;
3050        END IF;
3051 
3052      END IF;
3053 
3054    EXCEPTION
3055      WHEN OTHERS THEN
3056        RAISE;
3057 
3058 End Validate_Basis_account_key ;
3059 
3060 /***************************************************************************************
3061   * FUNCTION NAME                                                                        *
3062   *   Validate_account_id                                                                *
3063   *                                                                                      *
3064   * USAGE                                                                                *
3065   *   Validates the account id                                                           *
3066   *                                                                                      *
3067   * DESCRIPTION                                                                          *
3068   *        Validates the account id                                                      *
3069   *                                                                                      *
3070   * PARAMETERS                                                                           *
3071   *   p_Basis_account_key   IN  gl_aloc_bas.Basis_account_key%TYPE                       *
3072   *   p_le_id     IN xle_entity_profiles.legal_entity_id%TYPE                            *
3073   *                                                                                      *
3074   * RETURNS                                                                              *
3075   *   TRUE/FALSE                                                                       *
3076   *                                                                                      *
3077   * HISTORY                                                                              *
3078   *   20-Oct-2005  Jahnavi Boppana   - Created                                           *
3079   ***************************************************************************************/
3080 
3081 FUNCTION Validate_ACCOUNT_ID
3082 (
3083   p_Basis_account_id  IN  gl_aloc_bas.Basis_account_id%TYPE
3084 , p_le_id     IN xle_entity_profiles.legal_entity_id%TYPE
3085 )
3086 RETURN BOOLEAN
3087    IS
3088 
3089    CURSOR Cur_accounts_id
3090      IS
3091        SELECT code_combination_id
3092        FROM gl_code_combinations_kfv glc, gmf_legal_entities gle
3093        WHERE gle.legal_entity_id = p_le_id
3094              AND glc.code_combination_id = p_Basis_account_id
3095              AND gle.chart_of_accounts_id = glc.chart_of_accounts_id ;
3096 
3097    l_account_id gl_aloc_bas.Basis_account_id%TYPE;
3098 
3099   BEGIN
3100 
3101      OPEN Cur_accounts_id;
3102      FETCH Cur_accounts_id INTO l_account_id;
3103      IF (Cur_accounts_id%NOTFOUND)
3104      THEN
3105        CLOSE Cur_accounts_id;
3106        RETURN FALSE;
3107      ELSE
3108        CLOSE Cur_accounts_id;
3109        RETURN TRUE;
3110      END IF;
3111 
3112    EXCEPTION
3113      WHEN OTHERS THEN
3114        RAISE;
3115 
3116 End Validate_ACCOUNT_ID ;
3117 
3118 -- Func start of comments
3119 --+==========================================================================+
3120 --|  FUNCTION NAME                                                           |
3121 --|       Validate_Usage_Uom                                                 |
3122 --|                                                                          |
3123 --|  USAGE                                                                   |
3124 --|       Validates UOM                                                      |
3125 --|                                                                          |
3126 --|  DESCRIPTION                                                             |
3127 --|       This function validates that the UOM codes exists                  |
3128 --|       on mtl_units_of_measure                                            |
3129 --|                                                                          |
3130 --|  PARAMETERS                                                              |
3131 --|    P_usgae_uom IN mtl_units_of_measure.uom_code%TYPE -  UOM code         |
3132 --|                                                                          |
3133 --|  RETURNS                                                                 |
3134 --|       TRUE  - If UOM code is valid value                                 |
3135 --|       FALSE - If UOM codeis an invalid value                             |
3136 --|                                                                          |
3137 --|  HISTORY                                                                 |
3138 --|  20-Oct-2005 Prasad Marada  - Created for UOM Code validation            |
3139 --|                                                                          |
3140 --+==========================================================================+
3141 -- Func end of comments
3142 
3143 FUNCTION Validate_Usage_Uom
3144 (
3145   P_usgae_uom IN mtl_units_of_measure.uom_code%TYPE
3146 ) RETURN BOOLEAN
3147 IS
3148 
3149   CURSOR Cur_uom IS
3150     SELECT  uom_code
3151     FROM mtl_units_of_measure
3152     WHERE uom_code = P_usgae_uom;
3153 
3154   l_usgae_uom mtl_units_of_measure.uom_code%TYPE ;
3155 
3156 BEGIN
3157 
3158   OPEN Cur_uom;
3159   FETCH Cur_uom INTO l_usgae_uom;
3160   IF (Cur_uom%NOTFOUND)
3161   THEN
3162     CLOSE Cur_uom;
3163     RETURN FALSE;
3164   ELSE
3165     CLOSE Cur_uom;
3166     RETURN TRUE;
3167   END IF;
3168 
3169 EXCEPTION
3170   WHEN OTHERS THEN
3171     RAISE;
3172 END Validate_Usage_Uom;
3173 
3174 -- Func start of comments
3175 --+==========================================================================+
3176 --|  FUNCTION NAME                                                           |
3177 --|       Validate_Validate_same_class_Uom                                   |
3178 --|                                                                          |
3179 --|  USAGE                                                                   |
3180 --|       Validates UOM                                                      |
3181 --|                                                                          |
3182 --|  DESCRIPTION                                                             |
3183 --|       This function validates that the UOM codes exists                  |
3184 --|       on mtl_units_of_measure for the item's class                       |
3185 --|                                                                          |
3186 --|  PARAMETERS                                                              |
3187 --|    P_usgae_uom IN mtl_units_of_measure.uom_code%TYPE -  UOM code         |
3188 --|                                                                          |
3189 --|  RETURNS                                                                 |
3190 --|       TRUE  - If UOM code is valid value                                 |
3191 --|       FALSE - If UOM codeis an invalid value                             |
3192 --|                                                                          |
3193 --|  HISTORY                                                                 |
3194 --|  10-Oct-2006 Anand Thiyagarajan  - Created for UOM Code validation       |
3195 --|                                                                          |
3196 --+==========================================================================+
3197 -- Func end of comments
3198 
3199 FUNCTION Validate_same_class_Uom
3200 (
3201   P_uom_code IN mtl_units_of_measure.uom_code%TYPE,
3202   p_inventory_item_id IN mtl_system_items_b.inventory_item_id%TYPE,
3203   p_organization_id IN mtl_system_items_b.organization_id%TYPE
3204 ) RETURN BOOLEAN
3205 IS
3206 
3207   CURSOR Cur_uom
3208   IS
3209   SELECT          c.uom_code
3210   FROM            mtl_system_items_b a,
3211                   mtl_units_of_measure b,
3212                   mtl_units_of_measure c
3213   WHERE           a.inventory_item_id = p_inventory_item_id
3214   AND             a.organization_id = p_organization_id
3215   AND             a.primary_uom_code = b.uom_code
3216   AND             b.uom_class = c.uom_class
3217   AND             c.uom_code= P_uom_code;
3218 
3219   l_uom_code      mtl_units_of_measure.uom_code%TYPE;
3220 BEGIN
3221 
3222   OPEN Cur_uom;
3223   FETCH Cur_uom INTO l_uom_code;
3224   IF (Cur_uom%NOTFOUND)
3225   THEN
3226     CLOSE Cur_uom;
3227     RETURN FALSE;
3228   ELSE
3229     CLOSE Cur_uom;
3230     RETURN TRUE;
3231   END IF;
3232 EXCEPTION
3233   WHEN OTHERS THEN
3234     RAISE;
3235 END Validate_same_class_Uom;
3236 
3237 -- Procedure start of comments
3238 --+==========================================================================+
3239 --|  FUNCTION NAME                                                           |
3240 --|       validate_usage_uom                                                 |
3241 --|                                                                          |
3242 --|  USAGE                                                                   |
3243 --|       Returns UOM Class                                                  |
3244 --|                                                                          |
3245 --|  DESCRIPTION                                                             |
3246 --|     This procedure returns the UOM class for the UOM code                |
3247 --|                                                                          |
3248 --|  PARAMETERS                                                              |
3249 --|       p_usage_uom   IN  mtl_units_of_measure.uom_code%TYPE UOM Code      |
3250 --|       p_usage_uom_class OUT mtl_units_of_measure.uom_class%TYPE          |
3251 --|                                                                          |
3252 --|  RETURNS                                                                 |
3253 --|       Return UOM class                                                   |
3254 --|                                                                          |
3255 --|  HISTORY                                                                 |
3256 --|  20-Oct-2005 Prasad Marada - Created to return the UOM class             |
3257 --|                                                                          |
3258 --+==========================================================================+
3259 -- Procedure end of comments
3260 
3261 PROCEDURE validate_usage_uom (
3262    p_usage_uom IN   mtl_units_of_measure.uom_code%TYPE,
3263    p_usage_uom_class OUT NOCOPY mtl_units_of_measure.uom_class%TYPE
3264  ) IS
3265 
3266   CURSOR cur_uom IS
3267   SELECT uom_class
3268   FROM mtl_units_of_measure
3269   WHERE uom_code = p_usage_uom;
3270 
3271 BEGIN
3272   OPEN cur_uom;
3273   FETCH cur_uom INTO p_usage_uom_class;
3274   CLOSE cur_uom ;
3275 
3276 EXCEPTION
3277   WHEN OTHERS THEN
3278     RAISE;
3279 
3280 END validate_usage_uom ;
3281 
3282 
3283 PROCEDURE Validate_Resource
3284 (
3285   p_Resources          IN  cr_rsrc_mst.Resources%TYPE
3286 , x_resource_uom       OUT NOCOPY cr_rsrc_mst.std_usage_uom%TYPE
3287 , x_resource_uom_class OUT NOCOPY mtl_units_of_measure.uom_class%TYPE
3288 )
3289 IS
3290   CURSOR Cur_resources
3291   IS
3292     SELECT
3293          rm.std_usage_uom, uom.uom_class
3294     FROM
3295          mtl_units_of_measure uom, cr_rsrc_mst rm
3296     WHERE
3297         rm.resources  = p_Resources
3298     AND uom.uom_code  = rm.std_usage_uom
3299     AND rm.delete_mark = 0;
3300 
3301 BEGIN
3302 
3303   OPEN Cur_resources;
3304   FETCH Cur_resources INTO x_resource_uom, x_resource_uom_class;
3305   CLOSE Cur_resources;
3306 
3307 EXCEPTION
3308   WHEN OTHERS THEN
3309     RAISE;
3310 
3311 End Validate_Resource;
3312 
3313 /* ANTHIYAG Added for Release 12.0 End */
3314 
3315 END GMF_validations_PVT;