[Home] [Help]
PACKAGE BODY: APPS.BIS_INDICATOR_REGION_PVT
Source
1 package body BIS_INDICATOR_REGION_PVT AS
2 /* $Header: BISVREGB.pls 115.31 2003/04/07 06:15:25 arhegde ship $ */
3 Procedure Create_User_Ind_Selection(
4 p_api_version IN NUMBER,
5 p_Indicator_Region_Rec
6 IN BIS_INDICATOR_REGION_PUB.Indicator_Region_Rec_Type,
7 x_return_status OUT NOCOPY VARCHAR2,
8 x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
9 )
10 IS
11 l_user_ind_id NUMBER;
12 l_rowid VARCHAR2(18);
13 l_error_Tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
14
15 cursor c is
16 select rowid from BIS_USER_IND_SELECTIONS
17 where IND_SELECTION_ID = l_user_ind_id;
18
19 BEGIN
20 x_return_status := FND_API.G_RET_STS_SUCCESS;
21
22 select BIS_USER_IND_SELECTIONS_S.NEXTVAL into l_user_ind_id from dual;
23 -- mdamle 01/15/2001 - Remove Org and add Dim6 and Dim7
24 insert into BIS_USER_IND_SELECTIONS (
25 IND_SELECTION_ID
26 ,USER_ID
27 ,TARGET_LEVEL_ID
28 -- ,ORGANIZATION_ID
29 -- ,ORG_LEVEL_VALUE
30 ,LABEL
31 ,PLUG_ID
32 ,RESPONSIBILITY_ID
33 ,DIMENSION1_LEVEL_VALUE
34 ,DIMENSION2_LEVEL_VALUE
35 ,DIMENSION3_LEVEL_VALUE
36 ,DIMENSION4_LEVEL_VALUE
37 ,DIMENSION5_LEVEL_VALUE
38 ,DIMENSION6_LEVEL_VALUE
39 ,DIMENSION7_LEVEL_VALUE
40 ,PLAN_ID
41 ,CREATION_DATE
42 ,CREATED_BY
43 ,LAST_UPDATE_DATE
44 ,LAST_UPDATED_BY
45 ,LAST_UPDATE_LOGIN)
46 values (
47 l_user_ind_id
48 ,p_Indicator_Region_Rec.USER_ID
49 ,p_Indicator_Region_Rec.Target_Level_ID
50 -- ,NULL
51 -- ,p_Indicator_Region_Rec.Org_Level_Value_Id
52 ,p_Indicator_Region_Rec.LABEL
53 ,p_Indicator_Region_Rec.PLUG_ID
54 ,DECODE(p_Indicator_Region_Rec.RESPONSIBILITY_ID,FND_API.G_MISS_NUM,NULL,
55 p_Indicator_Region_Rec.RESPONSIBILITY_ID)
56 ,DECODE(p_Indicator_Region_Rec.DIM1_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
57 p_Indicator_Region_Rec.DIM1_LEVEL_VALUE_ID)
58 ,DECODE(p_Indicator_Region_Rec.DIM2_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
59 p_Indicator_Region_Rec.DIM2_LEVEL_VALUE_ID)
60 ,DECODE(p_Indicator_Region_Rec.DIM3_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
61 p_Indicator_Region_Rec.DIM3_LEVEL_VALUE_ID)
62 ,DECODE(p_Indicator_Region_Rec.DIM4_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
63 p_Indicator_Region_Rec.DIM4_LEVEL_VALUE_ID)
64 ,DECODE(p_Indicator_Region_Rec.DIM5_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
65 p_Indicator_Region_Rec.DIM5_LEVEL_VALUE_ID)
66 ,DECODE(p_Indicator_Region_Rec.DIM6_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
67 p_Indicator_Region_Rec.DIM6_LEVEL_VALUE_ID)
68 ,DECODE(p_Indicator_Region_Rec.DIM7_LEVEL_VALUE_ID,'+',NULL,'-',NULL,
69 p_Indicator_Region_Rec.DIM7_LEVEL_VALUE_ID)
70 ,p_Indicator_Region_Rec.PLAN_ID
71 ,sysdate
72 ,FND_GLOBAL.USER_ID
73 ,sysdate
74 ,FND_GLOBAL.USER_ID
75 ,FND_GLOBAL.LOGIN_ID);
76
77 open c;
78 fetch c into l_rowid;
79 IF c%notfound then
80 close c;
81 raise NO_DATA_FOUND;
82 END IF;
83 IF c%isopen then close c; END IF;
84
85 COMMIT;
86
87 EXCEPTION
88 WHEN NO_DATA_FOUND THEN
89 x_return_status := FND_API.G_RET_STS_ERROR;
90 WHEN OTHERS THEN
91 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
92 l_error_Tbl := x_error_Tbl;
93 BIS_UTILITIES_PVT.Add_Error_Message
94 ( p_error_table => l_error_Tbl
95 , p_error_msg_id => SQLCODE
96 , p_error_description => SQLERRM
97 , x_error_table => x_error_Tbl
98 );
99 --rmohanty commented 3lines, on Unique constraint error, the Page broke
100 --and user was not able to continue
101 --htp.p('BIS_INDICATOR_REGION_PVT.Create_User_Ind_Selection: '
102 -- ||SQLERRM);
103 -- htp.para;
104 -- RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
105
106 END Create_User_Ind_Selection;
107
108 -- *************************************************
109 Procedure Retrieve_User_Ind_Selections(
110 p_api_version IN NUMBER,
111 p_user_id IN NUMBER ,
112 p_user_name IN VARCHAR2 ,
113 p_plug_id IN NUMBER ,
114 p_all_info IN VARCHAR2 Default FND_API.G_TRUE,
115 x_Indicator_Region_Tbl
116 OUT NOCOPY BIS_INDICATOR_REGION_PUB.Indicator_Region_Tbl_Type,
117 x_return_status OUT NOCOPY VARCHAR2,
118 x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
119 )
120 IS
121 cursor c_user_ind_selection is
122 SELECT distinct a.ind_selection_id
123 ,a.user_id
124 ,a.target_level_id
125 ,a.label
126 ,a.plug_id
127 ,a.dimension1_level_value
128 ,a.dimension2_level_value
129 ,a.dimension3_level_value
130 ,a.dimension4_level_value
131 ,a.dimension5_level_value
132 ,a.dimension6_level_value
133 ,a.dimension7_level_value
134 ,a.responsibility_id
135 ,a.plan_id
136 FROM bis_user_ind_selections a
137 ,fnd_user_resp_groups b
138 ,bis_indicators c
139 ,bis_target_levels d
140 WHERE a.user_id = p_user_id
141 AND a.plug_id = p_plug_id
142 AND a.user_id = b.user_id
143 AND b.start_date <= sysdate
144 AND NVL(b.end_date, sysdate) >= sysdate
145 AND d.target_level_id = a.target_level_id
146 AND d.indicator_id = c.indicator_id
147 ORDER BY a.ind_selection_id;
148
149 l_Indicator_Region_rec BIS_INDICATOR_REGION_PUB.Indicator_Region_Rec_Type;
150 l_Target_level_rec BIS_TARGET_LEVEL_PUB.Target_Level_Rec_Type;
151 l_Target_level_rec_p BIS_TARGET_LEVEL_PUB.Target_Level_Rec_Type;
152 l_Org_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
153 l_dim1_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
154 l_dim2_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
155 l_dim3_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
156 l_dim4_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
157 l_dim5_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
158 -- mdamle 01/15/2001 - Add Dim6 and Dim7
159 l_dim6_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
160 l_dim7_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
161
162 l_error_Tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
163 l_sob_level_id NUMBER;
164 l_time_level_id NUMBER;
165 l_Dim_Level_Value_Rec_p BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
166
167 l_Org_Level_Value_Rec_p BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
168
169
170 BEGIN
171
172 x_return_status := FND_API.G_RET_STS_SUCCESS;
173
174 FOR c_userIndSelection in c_user_ind_selection LOOP
175
176 l_Indicator_Region_Rec.ind_selection_id
177 := c_userIndSelection.ind_selection_id;
178 l_Indicator_Region_rec.user_id := p_user_id;
179 l_Indicator_Region_rec.user_name := p_user_name;
180 l_Indicator_Region_rec.plug_id := p_plug_id;
181 l_Indicator_Region_Rec.Target_Level_ID
182 := c_userIndSelection.target_level_id;
183 l_Indicator_Region_Rec.Label := c_userIndSelection.label;
184 -- mdamle 01/15/2001 - Use Dim6 and Dim7
185 -- l_Indicator_Region_Rec.Org_Level_Value_Id
186 -- := c_userIndSelection.Org_Level_Value;
187 l_Indicator_Region_Rec.Dim1_Level_Value_ID
188 := c_userIndSelection.dimension1_level_value;
189 l_Indicator_Region_Rec.Dim2_Level_Value_ID
190 := c_userIndSelection.dimension2_level_value;
191 l_Indicator_Region_Rec.Dim3_Level_Value_ID
192 := c_userIndSelection.dimension3_level_value;
193 l_Indicator_Region_Rec.Dim4_Level_Value_ID
194 := c_userIndSelection.dimension4_level_value;
195 l_Indicator_Region_Rec.Dim5_Level_Value_ID
196 := c_userIndSelection.dimension5_level_value;
197 -- mdamle 01/15/2001 - Add Dim6 and Dim7
198 l_Indicator_Region_Rec.Dim6_Level_Value_ID
199 := c_userIndSelection.dimension6_level_value;
200 l_Indicator_Region_Rec.Dim7_Level_Value_ID
201 := c_userIndSelection.dimension7_level_value;
202
203 l_Indicator_Region_Rec.Plan_ID
204 := c_userIndSelection.Plan_ID;
205
206 x_Indicator_Region_tbl(x_Indicator_Region_tbl.count+1)
207 := l_Indicator_Region_Rec;
208
209 END LOOP;
210
211 IF p_all_info = FND_API.G_TRUE THEN
212
213 FOR i in 1..x_Indicator_Region_tbl.count LOOP
214
215 l_target_level_Rec.Target_level_ID :=
216 x_Indicator_Region_Tbl(i).Target_Level_ID;
217
218 -- mdamle 01/15/2001 - Resequence Dimensions
219 IF (l_target_level_rec.org_level_id IS NOT NULL) AND
220 (l_target_level_rec.time_level_id IS NOT NULL) THEN
221 l_target_level_rec_p := l_target_level_rec;
222 BIS_UTILITIES_PVT.resequence_dim_levels(l_target_level_rec_p,
223 'N',
224 l_target_level_Rec,
225 x_Error_tbl);
226 end if;
227
228 l_Target_level_rec_p := l_Target_level_rec;
229 BIS_TARGET_LEVEL_PVT.Retrieve_Target_Level (
230 p_api_version => 1.0,
231 p_Target_level_rec => l_Target_level_rec_p,
232 p_all_info => FND_API.G_FALSE,
233 x_Target_level_rec => l_Target_level_rec,
234 x_return_status => x_return_status,
235 x_error_Tbl => x_error_Tbl
236 );
237
238 -- mdamle 01/15/2001 - Resequence Dimensions
239 l_target_level_rec_p := l_target_level_rec;
240 BIS_UTILITIES_PVT.resequence_dim_levels(l_target_level_rec_p,
241 'R',
242 l_target_level_Rec,
243 x_Error_tbl);
244
245 x_Indicator_Region_Tbl(i).Target_Level_short_name
246 := l_Target_level_rec.Target_Level_Short_Name;
247 x_Indicator_Region_Tbl(i).Target_Level_name
248 := l_Target_level_rec.Target_Level_Name;
249
250
251 -- mdamle 01/15/2001 - Use Dim6 and Dim7
252 /*
253 l_Org_Level_Value_Rec.Dimension_Level_ID
254 := l_Target_level_Rec.Org_Level_id;
255 l_Org_Level_Value_Rec.Dimension_Level_Value_ID
256 := x_Indicator_Region_tbl(i).org_level_value_id;
257
258 l_Org_Level_Value_Rec_p := l_Org_Level_Value_Rec;
259 BIS_DIM_LEVEL_VALUE_PVT.Org_ID_to_Value
260 ( p_api_version => 1.0
261 ,p_Dim_Level_Value_Rec => l_Org_Level_Value_Rec_p
262 ,x_Dim_Level_Value_Rec => l_Org_Level_Value_Rec
263 ,x_return_status => x_return_status
264 ,x_error_Tbl => x_error_Tbl
265 );
266 x_Indicator_Region_tbl(i).org_level_value_name
267 := l_Org_Level_Value_Rec.Dimension_Level_Value_Name;
268
269
270 IF l_Org_Level_Value_Rec.Dimension_Level_Short_Name = 'SET OF BOOKS'
271 THEN
272 BIS_TARGET_PVT.G_SET_OF_BOOK_ID :=
273 TO_NUMBER(x_Indicator_Region_tbl(i).org_level_value_id);
274 END IF;
275 */
276
277 l_Dim1_Level_Value_Rec.Dimension_Level_ID
278 := l_Target_level_Rec.Dimension1_Level_id;
279 l_Dim1_Level_Value_Rec.Dimension_Level_Value_ID
280 := x_Indicator_Region_tbl(i).dim1_level_value_id;
281
282 IF (l_Dim1_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
283 l_Dim_Level_Value_Rec_p := l_Dim1_Level_Value_Rec;
284 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
285 ( p_api_version => 1.0
286 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
287 ,x_Dim_Level_Value_Rec => l_Dim1_Level_Value_Rec
288 ,x_return_status => x_return_status
289 ,x_error_Tbl => l_error_Tbl
290 );
291 x_Indicator_Region_tbl(i).dim1_level_value_name
292 := l_Dim1_Level_Value_Rec.Dimension_Level_Value_Name;
293 END IF;
294
295 l_Dim2_Level_Value_Rec.Dimension_Level_ID
296 := l_Target_level_Rec.Dimension2_Level_id;
297 l_Dim2_Level_Value_Rec.Dimension_Level_Value_ID
298 := x_Indicator_Region_tbl(i).dim2_level_value_id;
299
300 IF (l_Dim2_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
301 l_Dim_Level_Value_Rec_p := l_Dim2_Level_Value_Rec;
302 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
303 ( p_api_version => 1.0
304 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
305 ,x_Dim_Level_Value_Rec => l_Dim2_Level_Value_Rec
306 ,x_return_status => x_return_status
307 ,x_error_Tbl => l_error_Tbl
308 );
309 x_Indicator_Region_tbl(i).dim2_level_value_name
310 := l_Dim2_Level_Value_Rec.Dimension_Level_Value_Name;
311 END IF;
312
313 l_Dim3_Level_Value_Rec.Dimension_Level_ID
314 := l_Target_level_Rec.Dimension3_Level_id;
315 l_Dim3_Level_Value_Rec.Dimension_Level_Value_ID
316 := x_Indicator_Region_tbl(i).dim3_level_value_id;
317
318 IF (l_Dim3_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
319 l_Dim_Level_Value_Rec_p := l_Dim3_Level_Value_Rec;
320 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
321 ( p_api_version => 1.0
322 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
323 ,x_Dim_Level_Value_Rec => l_Dim3_Level_Value_Rec
324 ,x_return_status => x_return_status
325 ,x_error_Tbl => l_error_Tbl
326 );
327 x_Indicator_Region_tbl(i).dim3_level_value_name
328 := l_Dim3_Level_Value_Rec.Dimension_Level_Value_Name;
329 END IF;
330
331 l_Dim4_Level_Value_Rec.Dimension_Level_ID
332 := l_Target_level_Rec.Dimension4_Level_id;
333 l_Dim4_Level_Value_Rec.Dimension_Level_Value_ID
334 := x_Indicator_Region_tbl(i).dim4_level_value_id;
335
336 IF (l_Dim4_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
337 l_Dim_Level_Value_Rec_p := l_Dim4_Level_Value_Rec;
338 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
339 ( p_api_version => 1.0
340 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
341 ,x_Dim_Level_Value_Rec => l_Dim4_Level_Value_Rec
342 ,x_return_status => x_return_status
343 ,x_error_Tbl => l_error_Tbl
344 );
345 x_Indicator_Region_tbl(i).dim4_level_value_name
346 := l_Dim4_Level_Value_Rec.Dimension_Level_Value_Name;
347 END IF;
348
349 l_Dim5_Level_Value_Rec.Dimension_Level_ID
350 := l_Target_level_Rec.Dimension5_Level_id;
351 l_Dim5_Level_Value_Rec.Dimension_Level_Value_ID
352 := x_Indicator_Region_tbl(i).dim5_level_value_id;
353
354 IF (l_Dim5_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
355 l_Dim_Level_Value_Rec_p := l_Dim5_Level_Value_Rec;
356 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
357 ( p_api_version => 1.0
358 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
359 ,x_Dim_Level_Value_Rec => l_Dim5_Level_Value_Rec
360 ,x_return_status => x_return_status
361 ,x_error_Tbl => l_error_Tbl
362 );
363 x_Indicator_Region_tbl(i).dim5_level_value_name
364 := l_Dim5_Level_Value_Rec.Dimension_Level_Value_Name;
365 END IF;
366
367 l_Dim6_Level_Value_Rec.Dimension_Level_ID
368 := l_Target_level_Rec.Dimension6_Level_id;
369 l_Dim6_Level_Value_Rec.Dimension_Level_Value_ID
370 := x_Indicator_Region_tbl(i).dim6_level_value_id;
371
372 -- mdamle 01/15/2001 - Add Dim6 and Dim7
373 IF (l_Dim6_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
374 l_Dim_Level_Value_Rec_p := l_Dim6_Level_Value_Rec;
375 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
376 ( p_api_version => 1.0
377 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
378 ,x_Dim_Level_Value_Rec => l_Dim6_Level_Value_Rec
379 ,x_return_status => x_return_status
380 ,x_error_Tbl => l_error_Tbl
381 );
382 x_Indicator_Region_tbl(i).dim6_level_value_name
383 := l_Dim6_Level_Value_Rec.Dimension_Level_Value_Name;
384 END IF;
385
386 l_Dim7_Level_Value_Rec.Dimension_Level_ID
387 := l_Target_level_Rec.Dimension7_Level_id;
388 l_Dim7_Level_Value_Rec.Dimension_Level_Value_ID
389 := x_Indicator_Region_tbl(i).dim7_level_value_id;
390
391 -- mdamle 01/15/2001 - Add Dim6 and Dim7
392 IF (l_Dim7_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
393 l_Dim_Level_Value_Rec_p := l_Dim7_Level_Value_Rec;
394 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
395 ( p_api_version => 1.0
396 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
397 ,x_Dim_Level_Value_Rec => l_Dim7_Level_Value_Rec
398 ,x_return_status => x_return_status
399 ,x_error_Tbl => l_error_Tbl
400 );
401 x_Indicator_Region_tbl(i).dim7_level_value_name
402 := l_Dim7_Level_Value_Rec.Dimension_Level_Value_Name;
403 END IF;
404
405 IF (x_Indicator_Region_Tbl(i).Plan_ID is NOT NULL) THEN
406 SELECT short_name, name
407 INTO x_Indicator_Region_Tbl(i).Plan_Short_Name
408 , x_Indicator_Region_Tbl(i).Plan_Name
409 FROM BISBV_BUSINESS_PLANS
410 WHERE plan_id = x_Indicator_Region_Tbl(i).Plan_ID;
411 END IF;
412
413 END LOOP;
414 END IF;
415
416 EXCEPTION
417 WHEN FND_API.G_EXC_ERROR THEN
418 x_return_status:= FND_API.G_RET_STS_ERROR;
419 htp.p('BIS_INDICATOR_REGION_PVT.Retrieve_User_Ind_Selections:'); htp.para;
420 RAISE;
421 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
422 x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
423 htp.p('BIS_INDICATOR_REGION_PVT.Retrieve_User_Ind_Selections:G_EXC_UNEXPECTED_ERROR'); htp.para;
424 RAISE;
425 WHEN OTHERS THEN
426 x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
427 l_error_Tbl := x_error_Tbl;
428 BIS_UTILITIES_PVT.Add_Error_Message
429 ( p_error_table => l_error_Tbl
430 , p_error_msg_id => SQLCODE
431 , p_error_description => SQLERRM
432 , x_error_table => x_error_Tbl
433 );
434 htp.p('BIS_INDICATOR_REGION_PVT.Retrieve_User_Ind_Selections:OTHERS'); htp.para;
435 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
436 --
437
438 END Retrieve_User_Ind_Selections;
439
440 -- $$
441 Procedure Retrieve_User_Ind_Selections(
442 p_api_version IN NUMBER
443 , p_all_info IN VARCHAR2 Default FND_API.G_TRUE
444 , p_Target_level_id IN NUMBER
445 , x_Indicator_Region_Tbl
446 OUT NOCOPY BIS_INDICATOR_REGION_PUB.Indicator_Region_Tbl_Type
447 , x_return_status OUT NOCOPY VARCHAR2
448 , x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
449 )
450 IS
451
452 l_Indicator_Region_rec BIS_INDICATOR_REGION_PUB.Indicator_Region_Rec_Type;
453 l_Target_level_rec BIS_TARGET_LEVEL_PUB.Target_Level_Rec_Type;
454 l_Target_level_rec_p BIS_TARGET_LEVEL_PUB.Target_Level_Rec_Type;
455 l_Org_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
456 l_dim1_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
457 l_dim2_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
458 l_dim3_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
459 l_dim4_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
460 l_dim5_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
461 -- mdamle 01/15/2001 - Add Dim6 and Dim7
462 l_dim6_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
463 l_dim7_level_value_Rec BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
464
465 l_error_Tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
466 l_Dim_Level_Value_Rec_p BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
467 l_Org_Level_Value_Rec_p BIS_DIM_LEVEL_VALUE_PUB.Dim_Level_Value_Rec_Type;
468
469 CURSOR c_user_ind_selection IS
470 select * from bis_user_ind_selections
471 where Target_Level_ID = p_target_level_id;
472
473 BEGIN
474
475 x_return_status := FND_API.G_RET_STS_SUCCESS;
476
477 FOR c_userIndSelection in c_user_ind_selection LOOP
478
479 l_Indicator_Region_Rec.ind_selection_id
480 := c_userIndSelection.ind_selection_id;
481 l_Indicator_Region_Rec.Target_Level_ID
482 := c_userIndSelection.target_level_id;
483 l_Indicator_Region_Rec.Label := c_userIndSelection.label;
484 -- mdamle 01/15/2001 - Use Dim6 and Dim7
485 -- l_Indicator_Region_Rec.Org_Level_Value_Id
486 -- := c_userIndSelection.Org_Level_Value;
487 l_Indicator_Region_Rec.Dim1_Level_Value_ID
488 := c_userIndSelection.dimension1_level_value;
489 l_Indicator_Region_Rec.Dim2_Level_Value_ID
490 := c_userIndSelection.dimension2_level_value;
491 l_Indicator_Region_Rec.Dim3_Level_Value_ID
492 := c_userIndSelection.dimension3_level_value;
493 l_Indicator_Region_Rec.Dim4_Level_Value_ID
494 := c_userIndSelection.dimension4_level_value;
495 l_Indicator_Region_Rec.Dim5_Level_Value_ID
496 := c_userIndSelection.dimension5_level_value;
497 -- mdamle 01/15/2001 - Add Dim6 and Dim7
498 l_Indicator_Region_Rec.Dim6_Level_Value_ID
499 := c_userIndSelection.dimension6_level_value;
500 l_Indicator_Region_Rec.Dim7_Level_Value_ID
501 := c_userIndSelection.dimension7_level_value;
502
503 l_Indicator_Region_Rec.Plan_ID
504 := c_userIndSelection.Plan_ID;
505
506 x_Indicator_Region_tbl(x_Indicator_Region_tbl.count+1)
507 := l_Indicator_Region_Rec;
508
509 END LOOP;
510
511 IF p_all_info = FND_API.G_TRUE THEN
512
513 FOR i in 1..x_Indicator_Region_tbl.count LOOP
514
515 l_target_level_Rec.Target_level_ID :=
516 x_Indicator_Region_Tbl(i).Target_Level_ID;
517
518 -- mdamle 01/15/2001 - Resequence Dimensions
519 IF (l_target_level_rec.org_level_id IS NOT NULL) AND
520 (l_target_level_rec.time_level_id IS NOT NULL) THEN
521 l_target_level_rec_p := l_target_level_rec;
522 BIS_UTILITIES_PVT.resequence_dim_levels(l_target_level_rec_p,
523 'N',
524 l_target_level_Rec,
525 x_Error_tbl);
526 END IF;
527
528 l_Target_level_rec_p := l_Target_level_rec;
529 BIS_TARGET_LEVEL_PVT.Retrieve_Target_Level (
530 p_api_version => 1.0,
531 p_Target_level_rec => l_Target_level_rec_p,
532 p_all_info => FND_API.G_FALSE,
533 x_Target_level_rec => l_Target_level_rec,
534 x_return_status => x_return_status,
535 x_error_Tbl => x_error_Tbl
536 );
537
538 -- mdamle 01/15/2001 - Resequence Dimensions
539 l_target_level_rec_p := l_target_level_rec;
540 BIS_UTILITIES_PVT.resequence_dim_levels(l_target_level_rec_p,
541 'R',
542 l_target_level_Rec,
543 x_Error_tbl);
544
545 x_Indicator_Region_Tbl(i).Target_Level_short_name
546 := l_Target_level_rec.Target_Level_Short_Name;
547 x_Indicator_Region_Tbl(i).Target_Level_name
548 := l_Target_level_rec.Target_Level_Name;
549
550 -- mdamle 01/15/2001 - Use Dim6 and Dim7
551 /*
552 l_Org_Level_Value_Rec.Dimension_Level_ID
553 := l_Target_level_Rec.Org_Level_id;
554 l_Org_Level_Value_Rec.Dimension_Level_Value_ID
555 := x_Indicator_Region_tbl(i).org_level_value_id;
556
557 l_Org_Level_Value_Rec_p := l_Org_Level_Value_Rec;
558 BIS_DIM_LEVEL_VALUE_PVT.Org_ID_to_Value
559 ( p_api_version => 1.0
560 ,p_Dim_Level_Value_Rec => l_Org_Level_Value_Rec_p
561 ,x_Dim_Level_Value_Rec => l_Org_Level_Value_Rec
562 ,x_return_status => x_return_status
563 ,x_error_Tbl => x_error_Tbl
564 );
565 x_Indicator_Region_tbl(i).org_level_value_name
566 := l_Org_Level_Value_Rec.Dimension_Level_Value_Name;
567 */
568
569 l_Dim1_Level_Value_Rec.Dimension_Level_ID
570 := l_Target_level_Rec.Dimension1_Level_id;
571 l_Dim1_Level_Value_Rec.Dimension_Level_Value_ID
572 := x_Indicator_Region_tbl(i).dim1_level_value_id;
573
574 IF (l_Dim1_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
575 l_Dim_Level_Value_Rec_p := l_Dim1_Level_Value_Rec;
576 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
577 ( p_api_version => 1.0
578 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
579 ,x_Dim_Level_Value_Rec => l_Dim1_Level_Value_Rec
580 ,x_return_status => x_return_status
581 ,x_error_Tbl => l_error_Tbl
582 );
583 x_Indicator_Region_tbl(i).dim1_level_value_name
584 := l_Dim1_Level_Value_Rec.Dimension_Level_Value_Name;
585 END IF;
586
587 l_Dim2_Level_Value_Rec.Dimension_Level_ID
588 := l_Target_level_Rec.Dimension2_Level_id;
589 l_Dim2_Level_Value_Rec.Dimension_Level_Value_ID
590 := x_Indicator_Region_tbl(i).dim2_level_value_id;
591
592 IF (l_Dim2_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
593 l_Dim_Level_Value_Rec_p := l_Dim2_Level_Value_Rec;
594 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
595 ( p_api_version => 1.0
596 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
597 ,x_Dim_Level_Value_Rec => l_Dim2_Level_Value_Rec
598 ,x_return_status => x_return_status
599 ,x_error_Tbl => l_error_Tbl
600 );
601 x_Indicator_Region_tbl(i).dim2_level_value_name
602 := l_Dim2_Level_Value_Rec.Dimension_Level_Value_Name;
603 END IF;
604
605 l_Dim3_Level_Value_Rec.Dimension_Level_ID
606 := l_Target_level_Rec.Dimension3_Level_id;
607 l_Dim3_Level_Value_Rec.Dimension_Level_Value_ID
608 := x_Indicator_Region_tbl(i).dim3_level_value_id;
609
610 IF (l_Dim3_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
611 l_Dim_Level_Value_Rec_p := l_Dim3_Level_Value_Rec;
612 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
613 ( p_api_version => 1.0
614 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
615 ,x_Dim_Level_Value_Rec => l_Dim3_Level_Value_Rec
616 ,x_return_status => x_return_status
617 ,x_error_Tbl => l_error_Tbl
618 );
619 x_Indicator_Region_tbl(i).dim3_level_value_name
620 := l_Dim3_Level_Value_Rec.Dimension_Level_Value_Name;
621 END IF;
622
623 l_Dim4_Level_Value_Rec.Dimension_Level_ID
624 := l_Target_level_Rec.Dimension4_Level_id;
625 l_Dim4_Level_Value_Rec.Dimension_Level_Value_ID
626 := x_Indicator_Region_tbl(i).dim4_level_value_id;
627
628 IF (l_Dim4_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
629 l_Dim_Level_Value_Rec_p := l_Dim4_Level_Value_Rec;
630 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
631 ( p_api_version => 1.0
632 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
633 ,x_Dim_Level_Value_Rec => l_Dim4_Level_Value_Rec
634 ,x_return_status => x_return_status
635 ,x_error_Tbl => l_error_Tbl
636 );
637 x_Indicator_Region_tbl(i).dim4_level_value_name
638 := l_Dim4_Level_Value_Rec.Dimension_Level_Value_Name;
639 END IF;
640
641 l_Dim5_Level_Value_Rec.Dimension_Level_ID
642 := l_Target_level_Rec.Dimension5_Level_id;
643 l_Dim5_Level_Value_Rec.Dimension_Level_Value_ID
644 := x_Indicator_Region_tbl(i).dim5_level_value_id;
645
646 IF (l_Dim5_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
647 l_Dim_Level_Value_Rec_p := l_Dim5_Level_Value_Rec;
648 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
649 ( p_api_version => 1.0
650 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
651 ,x_Dim_Level_Value_Rec => l_Dim5_Level_Value_Rec
652 ,x_return_status => x_return_status
653 ,x_error_Tbl => l_error_Tbl
654 );
655 x_Indicator_Region_tbl(i).dim5_level_value_name
656 := l_Dim5_Level_Value_Rec.Dimension_Level_Value_Name;
657 END IF;
658
659 -- mdamle 01/15/2001 - Add Dim6 and Dim7
660 l_Dim6_Level_Value_Rec.Dimension_Level_ID
661 := l_Target_level_Rec.Dimension6_Level_id;
662 l_Dim6_Level_Value_Rec.Dimension_Level_Value_ID
663 := x_Indicator_Region_tbl(i).dim6_level_value_id;
664
665 IF (l_Dim6_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
666 l_Dim_Level_Value_Rec_p := l_Dim6_Level_Value_Rec;
667 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
668 ( p_api_version => 1.0
669 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
670 ,x_Dim_Level_Value_Rec => l_Dim6_Level_Value_Rec
671 ,x_return_status => x_return_status
672 ,x_error_Tbl => l_error_Tbl
673 );
674 x_Indicator_Region_tbl(i).dim6_level_value_name
675 := l_Dim6_Level_Value_Rec.Dimension_Level_Value_Name;
676 END IF;
677
678 -- mdamle 01/15/2001 - Add Dim6 and Dim7
679 l_Dim7_Level_Value_Rec.Dimension_Level_ID
680 := l_Target_level_Rec.Dimension7_Level_id;
681 l_Dim7_Level_Value_Rec.Dimension_Level_Value_ID
682 := x_Indicator_Region_tbl(i).dim7_level_value_id;
683
684 IF (l_Dim7_Level_Value_Rec.Dimension_Level_Value_ID is NOT NULL) THEN
685 l_Dim_Level_Value_Rec_p := l_Dim7_Level_Value_Rec;
686 BIS_DIM_LEVEL_VALUE_PVT.DimensionX_ID_to_Value
687 ( p_api_version => 1.0
688 ,p_Dim_Level_Value_Rec => l_Dim_Level_Value_Rec_p
689 ,x_Dim_Level_Value_Rec => l_Dim7_Level_Value_Rec
690 ,x_return_status => x_return_status
691 ,x_error_Tbl => l_error_Tbl
692 );
693 x_Indicator_Region_tbl(i).dim7_level_value_name
694 := l_Dim7_Level_Value_Rec.Dimension_Level_Value_Name;
695 END IF;
696
697 IF (x_Indicator_Region_Tbl(i).Plan_ID is NOT NULL) THEN
698 SELECT name
699 INTO x_Indicator_Region_Tbl(i).Plan_Name
700 FROM BISBV_BUSINESS_PLANS
701 WHERE plan_id = x_Indicator_Region_Tbl(i).Plan_ID;
702 END IF;
703
704 END LOOP;
705 END IF;
706
707 EXCEPTION
708 WHEN FND_API.G_EXC_ERROR THEN
709 x_return_status:= FND_API.G_RET_STS_ERROR;
710 RAISE;
711 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
712 x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
713 RAISE;
714 WHEN OTHERS THEN
715 x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
716 l_error_Tbl := x_error_Tbl;
717 BIS_UTILITIES_PVT.Add_Error_Message
718 ( p_error_table => l_error_Tbl
719 , p_error_msg_id => SQLCODE
720 , p_error_description => SQLERRM
721 , x_error_table => x_error_Tbl
722 );
723 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
724
725 END Retrieve_User_Ind_Selections;
726
727
728 Procedure Update_User_Ind_Selection(
729 p_api_version IN NUMBER,
730 p_user_id IN NUMBER Default BIS_UTILITIES_PUB.G_NULL_NUM,
731 p_user_name IN VARCHAR2 Default BIS_UTILITIES_PUB.G_NULL_CHAR,
732 p_plug_id IN NUMBER ,
733 p_Indicator_Region_Rec
734 IN BIS_INDICATOR_REGION_PUB.Indicator_Region_Rec_Type,
735 x_return_status OUT NOCOPY VARCHAR2,
736 x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
737 )
738 IS
739 BEGIN
740 x_return_status := FND_API.G_RET_STS_SUCCESS;
741
742
743 EXCEPTION
744 WHEN OTHERS THEN
745 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
746
747 END Update_User_Ind_Selection;
748
749
750 Procedure Delete_User_Ind_Selections(
751 p_api_version IN NUMBER,
752 p_user_id IN NUMBER Default BIS_UTILITIES_PUB.G_NULL_NUM,
753 p_user_name IN VARCHAR2 Default BIS_UTILITIES_PUB.G_NULL_CHAR,
754 p_plug_id IN NUMBER,
755 x_return_status OUT NOCOPY VARCHAR2,
756 x_error_Tbl OUT NOCOPY BIS_UTILITIES_PUB.Error_Tbl_Type
757 )
758 IS
759
760 l_error_Tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
761
762 BEGIN
763
764 x_return_status := FND_API.G_RET_STS_SUCCESS;
765
766 DELETE FROM BIS_USER_IND_SELECTIONS
767 WHERE user_id = p_user_id
768 AND plug_id = p_plug_id;
769
770 COMMIT;
771
772 EXCEPTION
773 WHEN FND_API.G_EXC_ERROR THEN
774 x_return_status := FND_API.G_RET_STS_ERROR;
775 htp.p('BIS_INDICATOR_REGION_PVT.Delete_User_Ind_Selections:G_EXC_ERROR'); htp.para;
776 RAISE;
777 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
778 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
779 htp.p('BIS_INDICATOR_REGION_PVT.Delete_User_Ind_Selections:G_EXC_UNEXPECTED_ERROR'); htp.para;
780 RAISE;
781 WHEN OTHERS THEN
782 x_return_status:= FND_API.G_RET_STS_UNEXP_ERROR;
783 l_error_Tbl := x_error_Tbl;
784 BIS_UTILITIES_PVT.Add_Error_Message
785 ( p_error_table => l_error_Tbl
786 , p_error_msg_id => SQLCODE
787 , p_error_description => SQLERRM
788 , x_error_table => x_error_Tbl
789 );
790 htp.p('BIS_INDICATOR_REGION_PVT.Delete_User_Ind_Selections:OTHERS'); htp.para;
791 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
792 --
793
794 END Delete_User_Ind_Selections;
795
796 Procedure Retrieve_User_Labels(
797 p_user_id IN NUMBER := BIS_UTILITIES_PUB.G_NULL_NUM,
798 p_user_name IN VARCHAR2 := BIS_UTILITIES_PUB.G_NULL_CHAR,
799 p_plug_id IN NUMBER,
800 x_label_tbl OUT NOCOPY BIS_INDICATOR_REGION_PVT.User_Label_Tbl_Type,
801 x_return_status OUT NOCOPY VARCHAR2
802 )
803 IS
804 i NUMBER := 0;
805 l_user_id NUMBER;
806 CURSOR cr_label IS
807 SELECT DISTINCT uis.ind_selection_id
808 , uis.label
809 FROM bis_user_ind_selections uis
810 WHERE uis.user_id = l_user_ID
811 AND uis.plug_id = p_Plug_ID;
812
813 BEGIN
814 x_return_status := FND_API.G_RET_STS_SUCCESS;
815
816 -- IF BIS_UTILITIES_PUB.Value_Not_Missing(p_user_ID) THEN
817 IF BIS_UTILITIES_PUB.Value_Not_Missing(p_user_ID) = FND_API.G_TRUE THEN
818 l_User_ID := p_User_ID;
819 ELSE
820 SELECT user_id
821 INTO l_user_id
822 FROM fnd_user
823 WHERE user_name = p_user_name;
824 END IF;
825
826 FOR crlabel IN cr_label LOOP
827 i := i+1;
828 x_label_tbl(i).Ind_Selection_ID := crlabel.Ind_Selection_ID;
829 x_label_tbl(i).Plug_ID := p_plug_id;
830 x_label_tbl(i).User_ID := l_user_id;
831 x_label_tbl(i).Label := crlabel.label;
832 END LOOP;
833
834 EXCEPTION
835 WHEN NO_DATA_FOUND THEN
836 x_return_status := FND_API.G_RET_STS_ERROR ;
837 when others then
838 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
839
840 END Retrieve_User_Labels;
841
842
843
844 Procedure Validate_User_Ind_Selection(
845 p_api_version IN NUMBER,
846 p_event IN VARCHAR2,
847 p_user_id IN NUMBER,
848 p_Indicator_Region_Rec IN BIS_INDICATOR_REGION_PUB.Indicator_Region_Rec_Type,
849 x_return_status OUT NOCOPY VARCHAR2
850 )
851 IS
852 e_InvalidRecordException EXCEPTION;
853 BEGIN
854 x_return_status := FND_API.G_RET_STS_SUCCESS;
855
856 Validate_Required_Fields(
857 p_event => p_event
858 ,p_user_id => p_user_id
859 ,p_Indicator_Region_Rec => p_Indicator_Region_Rec
860 ,x_return_status => x_return_status);
861
862 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
863 RAISE e_InvalidRecordException;
864 END IF;
865
866 IF p_event = 'CREATE' THEN
867 null;
868 ELSIF p_event = 'UPDATE' THEN
869 null;
870 ELSIF p_event = 'RETRIEVE' THEN
871 null;
872 ELSIF p_event = 'DELETE' THEN
873 null;
874 ELSE
875 RAISE e_InvalidEventException;
876 END IF;
877
878 EXCEPTION
879 when e_InvalidEventException OR e_InvalidRecordException then
880 x_return_status := FND_API.G_RET_STS_ERROR ;
881 when others then
882 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
883
884 END Validate_User_Ind_Selection;
885
886
887 Procedure Validate_Required_Fields(
888 p_event IN VARCHAR2,
889 p_user_id IN NUMBER,
890 p_Indicator_Region_Rec
891 IN BIS_Indicator_Region_PUB.Indicator_Region_Rec_Type,
892 x_return_status OUT NOCOPY VARCHAR2
893 )
894 IS
895 e_MissingValuesException EXCEPTION;
896
897 BEGIN
898 x_return_status := FND_API.G_RET_STS_SUCCESS;
899
900 IF p_event NOT IN ( 'CREATE',
901 'UPDATE',
902 'RETRIEVE',
903 'DELETE')
904 THEN
905 RAISE e_InvalidEventException;
906 END IF;
907
908 /*
909 IF (NOT BIS_UTILITIES_PUB.Value_Not_Missing(
910 p_Indicator_Region_Rec.USER_ID)) OR
911 (NOT BIS_UTILITIES_PUB.Value_Not_Missing(
912 p_Indicator_Region_Rec.PLUG_ID)) THEN
913 */
914 IF BIS_UTILITIES_PUB.Value_Not_Missing(p_Indicator_Region_Rec.USER_ID)
915 = FND_API.G_FALSE
916 OR BIS_UTILITIES_PUB.Value_Not_Missing(p_Indicator_Region_Rec.PLUG_ID)
917 = FND_API.G_FALSE
918 THEN
919
920 RAISE e_MissingValuesException;
921
922 -- Don't need to validate rest if retrieving or deleting
923 IF p_event IN ('CREATE','UPDATE') THEN
924 /*
925 IF (NOT BIS_UTILITIES_PUB.Value_Not_Missing(
926 p_Indicator_Region_Rec.Target_Level_ID)) OR
927 (NOT BIS_UTILITIES_PUB.Value_Not_Missing(
928 p_Indicator_Region_Rec.org_level_value_id)) THEN
929 */
930 IF BIS_UTILITIES_PUB.Value_Not_Missing(
931 p_Indicator_Region_Rec.Target_Level_ID) = FND_API.G_FALSE
932 -- mdamle 01/15/2001 - Use Dim6 and Dim7
933 -- OR BIS_UTILITIES_PUB.Value_Not_Missing(
934 -- p_Indicator_Region_Rec.Org_Level_Value_ID) = FND_API.G_FALSE
935 THEN
936 RAISE e_MissingValuesException;
937 END IF;
938 END IF;
939 END IF;
940
941 Exception
942 when e_InvalidEventException then
943 RAISE;
944 when e_MissingValuesException then
945 x_return_status := FND_API.G_RET_STS_ERROR ;
946 when others then
947 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
948
949 END Validate_Required_Fields;
950
951 END ;-- BIS_INDICATOR_REGION_PVT;