DBA Data[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;