DBA Data[Home] [Help]

PACKAGE BODY: APPS.PJI_PMV_PREDICATE

Source


1 PACKAGE BODY PJI_PMV_PREDICATE AS
2 /* $Header: PJIRX05B.pls 120.4 2005/11/17 16:19:48 appldev noship $ */
3 
4 FUNCTION Show_Class_Code(p_Class_Code IN VARCHAR2
5 						, p_Class_Category IN VARCHAR2
6 						, p_Org_ID IN VARCHAR2 DEFAULT NULL)
7 RETURN NUMBER
8 IS
9 l_Return_Value		NUMBER;
10 l_Security_Profile_ID	NUMBER;
11 l_Not_Secured_Flag	VARCHAR2(30);
12 BEGIN
13 	IF NOT (UPPER(p_Class_Category) = 'ALL' OR p_Class_Category IS NULL) THEN
14 		BEGIN
15 			IF p_Class_Category = '$PROJECT_TYPE$ALL' AND (UPPER(p_Org_ID) <> 'ALL' AND p_Org_ID IS NOT NULL) THEN
16 				SELECT 1
17 				INTO l_Return_Value
18 				FROM pji_class_codes pjicc
19 				, pa_project_types_all papta
20 				WHERE
21 				pjicc.class_id = p_Class_Code
22 				AND pjicc.record_type = 'T'
23 				AND papta.project_type= pjicc.class_code
24 				AND papta.org_id = p_Org_ID;
25 			ELSIF SUBSTR(p_Class_Category, 1, 14) = '$PROJECT_TYPE$' AND (UPPER(p_Org_ID) <> 'ALL' AND p_Org_ID IS NOT NULL) THEN
26 				SELECT 1
27 				INTO l_Return_Value
28 				FROM pji_class_codes pjicc
29 				, pa_project_types_all papta
30 				WHERE
31 				pjicc.class_id = p_Class_Code
32 				AND pjicc.class_category = p_Class_Category
33 				AND pjicc.record_type = 'T'
34 				AND papta.project_type_class_code= SUBSTR(p_Class_Category,15)
35 				AND papta.project_type= pjicc.class_code
36 				AND papta.org_id = p_Org_ID;
37 			ELSIF p_Class_Category = '$PROJECT_TYPE$ALL' THEN
38 				BEGIN
39 					l_Security_Profile_ID:=fnd_profile.value('XLA_MO_SECURITY_PROFILE_LEVEL');
40 					SELECT view_all_organizations_flag
41 					INTO l_Not_Secured_Flag
42 					FROM per_security_profiles prof
43 					WHERE security_profile_id = l_Security_Profile_ID;
44 				END;
45 
46 				IF l_Not_Secured_Flag = 'Y' THEN
47 					SELECT 1
48 					INTO l_Return_Value
49 					FROM pji_class_codes pjicc
50 					, pa_project_types_all papta
51 					, pa_implementations_all paimp
52 					WHERE
53 					pjicc.class_id = p_Class_Code
54 					AND pjicc.record_type = 'T'
55 					AND papta.project_type= pjicc.class_code
56 					AND paimp.org_id = papta.org_id;
57 				ELSE
58 					SELECT 1
59 					INTO l_Return_Value
60 					FROM pji_class_codes pjicc
61 					, pa_project_types_all papta
62 					, per_organization_list sec
63 					, pa_implementations_all paimp
64 					WHERE
65 					pjicc.class_id = p_Class_Code
66 					AND pjicc.record_type = 'T'
67 					AND papta.project_type= pjicc.class_code
68 					AND papta.org_id = sec.organization_id
69 					AND paimp.org_id = sec.organization_id
70 					AND sec.security_profile_id = l_Security_Profile_ID;
71 				END IF;
72 			ELSE
73 				SELECT 1
74 				INTO l_Return_Value
75 				FROM pji_class_codes
76 				WHERE
77 				class_id = p_Class_Code
78 				AND class_category = p_Class_Category;
79 			END IF;
80 		EXCEPTION
81 			WHEN OTHERS THEN
82 				NULL;
83 		END;
84 	END IF;
85 	RETURN l_Return_Value;
86 END;
87 
88 FUNCTION Show_Currency_Type(p_Currency_Code IN VARCHAR2
89 						, p_Org_ID IN VARCHAR2 DEFAULT NULL)
90 RETURN NUMBER
91 IS
92 l_Return_Value	NUMBER;
93 BEGIN
94 	IF p_Currency_Code = 'FII_GLOBAL1' THEN
95 		RETURN 1;
96 	ELSIF p_Currency_Code = 'FII_GLOBAL2' THEN
97 		RETURN 2;
98 	ELSIF p_Currency_Code = 'FII_GLOBAL1' THEN
99 		RETURN NULL;
100 	ELSE
101 		IF NOT (UPPER(p_Org_ID) = 'ALL' OR p_Org_ID IS NULL) THEN
102 		BEGIN
103 			SELECT 1
104 			INTO l_Return_Value
105 			FROM
106 			pa_implementations_all paimp
107 			, gl_sets_of_books     glsob
108 			WHERE
109 			paimp.set_of_books_id = glsob.set_of_books_id
110 			and paimp.org_id = p_Org_ID
111 			and glsob.currency_code = p_Currency_Code;
112 
113 			RETURN l_Return_Value;
114 		EXCEPTION
115 			WHEN NO_DATA_FOUND THEN
116 				RETURN NULL;
117 			WHEN OTHERS THEN
118 				RETURN NULL;
119 		END;
120 		ELSE
121 			RETURN NULL;
122 		END IF;
123 	END IF;
124 END Show_Currency_Type;
125 
126 FUNCTION Show_Project(p_Project_ID IN NUMBER
127                         , p_Organization_ID IN VARCHAR2
128                         , p_Org_ID IN VARCHAR2 DEFAULT NULL)
129 RETURN NUMBER
130 IS
131 l_Return_Value	NUMBER;
132 BEGIN
133 	IF p_Organization_ID IS NOT NULL THEN
134         IF NOT (UPPER(p_Org_ID) = 'ALL' OR p_Org_ID IS NULL) THEN
135             SELECT 1
136             INTO l_Return_Value
137             FROM pa_projects_all prj
138 			, pji_org_denorm pjd
139             WHERE
140             1=1
141             AND project_id = p_Project_ID
142             AND prj.carrying_out_organization_id = pjd.sub_organization_id
143 			AND pjd.organization_id = p_Organization_ID
144             AND prj.org_id = p_Org_ID;
145 		ELSE
146             SELECT 1
147             INTO l_Return_Value
148             FROM pa_projects_all prj
149 			, pji_org_denorm pjd
150             WHERE
151             1=1
152             AND project_id = p_Project_ID
153             AND prj.carrying_out_organization_id = pjd.sub_organization_id
154 			AND pjd.organization_id = p_Organization_ID;
155 		END IF;
156 		RETURN l_Return_Value;
157 	ELSE
158 		RETURN NULL;
159 	END IF;
160 END;
161 
162 
163 FUNCTION Show_Project_Type    (p_Project_ID         IN NUMBER
164                              , p_Organization_ID    IN VARCHAR2
165                              , p_Project_Type       IN VARCHAR2
166                              , p_Org_ID             IN VARCHAR2 DEFAULT NULL)
167 
168 RETURN NUMBER
169 IS
170 l_Return_Value	NUMBER;
171 BEGIN
172 
173 	IF p_Organization_ID IS NOT NULL THEN
174         IF NOT (UPPER(p_Org_ID) = 'ALL' OR p_Org_ID IS NULL) THEN
175 
176         SELECT 1 into l_Return_Value
177              FROM
178                   pa_projects_all prj
179       			, pji_org_denorm pjd
180 				, (SELECT project_id
181 			 	FROM pji_project_classes
182 			 	WHERE class_category = '$PROJECT_TYPE$'||p_Project_Type) PJC
183             WHERE
184             1=1
185             and prj.project_id = pjc.project_id
186             and prj.carrying_out_organization_id = pjd.sub_organization_id
187             and prj.project_id = p_Project_ID
188             and pjd.organization_id = p_Organization_ID
189             and prj.org_id = p_Org_ID;
190 
191          ELSE
192 
193            SELECT 1 into l_Return_Value
194             FROM
195                  pa_projects_all prj
196      			,pji_org_denorm pjd
197 				, (SELECT project_id
198 			 	FROM pji_project_classes
199 			 	WHERE class_category = '$PROJECT_TYPE$'||p_Project_type) PJC
200             WHERE
201             1=1
202             and prj.project_id = pjc.project_id
203             and prj.carrying_out_organization_id = pjd.sub_organization_id
204             and prj.project_id = p_Project_ID
205             and pjd.organization_id = p_Organization_ID;
206            END IF;
207 		RETURN l_Return_Value;
208 	ELSE
209 		RETURN NULL;
210 	END IF;
211 END;
212 
213 
214 FUNCTION Show_Operating_Unit(p_Org_ID IN VARCHAR2)
215 RETURN NUMBER
216 IS
217 l_Return_Value		NUMBER;
218 l_Security_Profile_ID	NUMBER;
219 l_Not_Secured_Flag	VARCHAR2(30);
220 BEGIN
221 	l_Security_Profile_ID:=fnd_profile.value('XLA_MO_SECURITY_PROFILE_LEVEL');
222 
223 	IF l_Security_Profile_ID IS NOT NULL THEN
224 		BEGIN
225 			SELECT view_all_organizations_flag
226 			INTO l_Not_Secured_Flag
227 			FROM per_security_profiles prof
228 			WHERE security_profile_id = l_Security_Profile_ID;
229 			IF l_Not_Secured_Flag = 'Y' THEN
230 				SELECT 1
231 				INTO l_Return_Value
232 				FROM pa_implementations_all imp
233 				WHERE org_id = p_Org_ID;
234 			ELSE
235 				SELECT 1
236 				INTO l_Return_Value
237 				FROM
238 				pa_implementations_all imp
239 				, per_organization_list list
240 				WHERE
241 				list.security_profile_id = l_Security_Profile_ID
242 				AND list.organization_id = p_Org_ID
243 				AND imp.org_id = list.organization_id;
244 			END IF;
245 		EXCEPTION
246 			WHEN NO_DATA_FOUND THEN
247 			NULL;
248 		END;
249 	END IF;
250 	RETURN l_Return_Value;
251 END;
252 
253 END PJI_PMV_PREDICATE;