DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_CHANGE_ADMIN_UTIL

Source


1 PACKAGE BODY ENG_CHANGE_ADMIN_UTIL AS
2 /* $Header: ENGADUTB.pls 115.7 2004/02/18 11:33:37 sdarbha ship $ */
3 
4 FUNCTION check_delete_for_reason (
5     p_reason_Code      IN  VARCHAR2) RETURN NUMBER IS
6 
7 delete_flag NUMBER := 1;
8 
9 BEGIN
10     select 2
11     into   delete_flag
12     from   dual
13     where  exists (select 1
14 					from eng_engineering_changes
15 					where reason_code = p_reason_Code
16 		union all
17 		select 1 from eng_change_type_reasons
18 		where reason_code = p_reason_code
19 			);
20 
21     return (delete_flag);
22 
23 EXCEPTION  WHEN NO_DATA_FOUND THEN
24     return (delete_flag);
25 END;
26 
27 FUNCTION check_delete_for_priority (
28     p_priority_code      IN  VARCHAR2) RETURN NUMBER IS
29 
30 delete_flag NUMBER := 1;
31 
32 BEGIN
33     select 2
34     into   delete_flag
35     from   dual
36     where  exists (select 1
37                     from eng_engineering_changes
38                     where priority_code = p_priority_code
39                    UNION ALL
40                    SELECT 1
41                    FROM ENG_CHANGE_TYPE_PRIORITIES
42                    WHERE priority_code = p_priority_code);
43 
44     return (delete_flag);
45 
46 EXCEPTION  WHEN NO_DATA_FOUND THEN
47     return (delete_flag);
48 END;
49 
50 FUNCTION check_delete_for_status (
51     p_status_code      IN  NUMBER
52     ) RETURN NUMBER IS
53 
54 delete_flag NUMBER := 1;
55 CURSOR c_checkseededstatus(cp_status_code VARCHAR2) IS
56 SELECT 2
57 FROM ENG_CHANGE_STATUSES
58 WHERE  SEEDED_FLAG='Y'
59 AND    STATUS_CODE=cp_status_code;
60 
61 BEGIN
62   OPEN c_checkseededstatus(cp_status_code => p_status_code);
63   FETCH c_checkseededstatus into delete_flag;
64   CLOSE c_checkseededstatus;
65   -- Check for Changes Existent for this status ONLY when if its not
66   -- seeded status
67   IF delete_flag <> 2 then
68     select 2
69     into   delete_flag
70     from   dual
71     where  exists (select 1
72                    from eng_engineering_changes eec
73                    where eec.status_type = p_status_code);
74   END IF;
75   return (delete_flag);
76 
77 EXCEPTION  WHEN NO_DATA_FOUND THEN
78     return (delete_flag);
79 END;
80 
81 
82 FUNCTION check_delete_for_phase (
83     p_status_Code      IN  NUMBER,
84     p_change_type_id IN NUMBER
85     ) RETURN NUMBER IS
86 
87 delete_flag NUMBER := 1;
88 
89 BEGIN
90     select 2
91     into   delete_flag
92     from   dual
93     where  exists (select 1
94 					from eng_engineering_changes
95 					where status_Code = p_status_Code
96 					and change_order_type_id =p_change_type_id);
97 
98     return (delete_flag);
99 
100 EXCEPTION  WHEN NO_DATA_FOUND THEN
101     return (delete_flag);
102 END;
103 
104 
105 FUNCTION check_classifications_delete
106  (
107      p_classification_id  IN NUMBER
108     ) RETURN NUMBER  IS
109 
110 delete_flag NUMBER := 1;
111 
112 
113 BEGIN
114 
115   -- Check for Changes/Types Existent for this classifaction _id
116 
117     select 2
118     into   delete_flag
119     from   dual
120     where  exists (select 1
121                    from eng_engineering_changes eec
122                    where eec.classification_id = p_classification_id )
123 		   or
124            exists  (select 1
125                    from eng_change_type_class_codes ectcc
126                    where ectcc.classification_id = p_classification_id )
127 		    ;
128 
129   return (delete_flag);
130 
131 EXCEPTION  WHEN NO_DATA_FOUND THEN
132     return (delete_flag);
133 END;
134 
135 END ENG_CHANGE_ADMIN_UTIL;
136 
137