DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_CUSTOM_VIEW_PUB

Source


1 PACKAGE BODY BSC_CUSTOM_VIEW_PUB AS
2  /* $Header: BSCCVDBB.pls 120.1 2005/08/22 17:07:48 hengliu noship $ */
3 /*****************************************************************************
4  This procedure will delete the custom view from the tab.
5  The entry will be deleted from the following tables.
6     1.BSC_TAB_VIEWS_B
7     2.BSC_TAB_VIEWS_TL
8     3.BSC_TAB_VIEW_KPI_TL
9     4.BSC_TAB_VIEW_LABELS_B
10     5.BSC_TAB_VIEW_LABELS_TL
11     6.BSC_SYS_IMAGES_MAP_TL
12     7.BSC_SYS_IMAGES (need for cascading)
13 
14  /******************************************************************************/
15 PROCEDURE delete_Custom_View
16 (
17    p_commit                     IN              VARCHAR2   := FND_API.G_FALSE
18   ,p_tab_id                     IN              NUMBER
19   ,p_tab_view_id                IN              NUMBER
20   ,x_return_status              OUT    NOCOPY   VARCHAR2
21   ,x_msg_count                  OUT    NOCOPY   NUMBER
22   ,x_msg_data                   OUT    NOCOPY   VARCHAR2
23   ,p_time_stamp                 IN              VARCHAR2    := NULL
24 ) IS
25 
26  l_CustView_Rec           BSC_CUSTOM_VIEW_PUB.Bsc_Cust_View_Rec_Type;
27  l_dep_obj_list			  VARCHAR2(1000);
28  l_exist_dependency		  VARCHAR2(5);
29 
30 BEGIN
31 
32      --DBMS_OUTPUT.PUT_LINE('Entered inside BSC_CUSTOM_VIEW_PUB.delete_Custom_View procedure');
33      FND_MSG_PUB.Initialize;
34      x_return_status := FND_API.G_RET_STS_SUCCESS;
35 	 l_exist_dependency := FND_API.G_FALSE;
36 
37      IF (p_tab_id IS NULL) THEN
38         FND_MESSAGE.SET_NAME('BSC','BSC_REQ_FIELD_MISSING');
39         FND_MESSAGE.SET_TOKEN('FIELD_NAME', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON', 'TAB_ID'), TRUE);
40         FND_MSG_PUB.ADD;
41         RAISE FND_API.G_EXC_ERROR;
42      END IF;
43 
44      IF (p_tab_view_id IS NULL) THEN
45          FND_MESSAGE.SET_NAME('BSC','BSC_REQ_FIELD_MISSING');
46          FND_MESSAGE.SET_TOKEN('FIELD_NAME', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON', 'TAB_VIEW_ID'), TRUE);
47          FND_MSG_PUB.ADD;
48          RAISE FND_API.G_EXC_ERROR;
49      END IF;
50 
51 
52      l_CustView_Rec.Bsc_Tab_Id       := p_tab_id;
53      l_CustView_Rec.Bsc_Tab_View_Id  := p_tab_view_id;
54 
55      -- do the validation that the tab_view_id cannot be -1,-2, 0 and 1
56      -- if yes then throw the exception that these views cannot be deleted.
57 
58      IF((l_CustView_Rec.Bsc_Tab_View_Id IS NOT NULL) AND (l_CustView_Rec.Bsc_Tab_View_Id<2)) THEN
59         FND_MESSAGE.SET_NAME('BSC','BSC_RES_VIEW_NOT_DELETE');
60         FND_MSG_PUB.ADD;
61         RAISE FND_API.G_EXC_ERROR;
62      END IF;
63 
64 	 -- Do the validation on the dependency of the custom view
65 	 -- If depedency exist, return the error message.
66 
67 	 BSC_PMF_UI_WRAPPER.Check_Tabview_Dependency( p_tab_id	  	=> p_tab_id
68 	 											 ,p_tab_view_id	=> p_tab_view_id
69 												 ,p_list_dependency => FND_API.G_TRUE
70 												 ,x_exist_dependency => l_exist_dependency
71 												 ,x_dep_obj_list => l_dep_obj_list
72 												 ,x_return_status => x_return_status
73 												 ,x_msg_count	  => x_msg_count
74 												 ,x_msg_data	  => x_msg_data);
75 	 IF ((x_return_status IS NOT NULL)AND(x_return_status  <> FND_API.G_RET_STS_SUCCESS)) THEN
76         RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
77      END IF;
78 
79 	 IF (l_exist_dependency IS NOT NULL) AND (l_exist_dependency = FND_API.G_TRUE) THEN
80 	 	x_return_status :=  FND_API.G_RET_STS_ERROR;
81 	 	FND_MESSAGE.SET_NAME('BSC','BSC_DELETE_CUSTOMVIEW_ERR');
82         FND_MESSAGE.SET_TOKEN('DEP_OBJ_LIST',l_dep_obj_list);
83         FND_MSG_PUB.ADD;
84 		RAISE FND_API.G_EXC_ERROR;
85 	 END IF;
86 
87 
88      BSC_BIS_LOCKS_PUB.LOCK_TAB(
89                 p_tab_id          => p_tab_id
90                ,p_time_stamp             => p_time_stamp  -- Granular Locking
91                ,x_return_status          => x_return_status
92                ,x_msg_count              => x_msg_count
93                ,x_msg_data               => x_msg_data
94        );
95          IF ((x_return_status IS NOT NULL)AND(x_return_status  <> FND_API.G_RET_STS_SUCCESS)) THEN
96               RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
97          END IF;
98 
99 
100      BSC_CUSTOM_VIEW_PVT.delete_Custom_View
101      (
102           p_CustView_Rec    => l_CustView_Rec
103          ,x_return_status   => x_return_status
104          ,x_msg_count       => x_msg_count
105          ,x_msg_data        => x_msg_data
106      );
107 
108  EXCEPTION
109     WHEN FND_API.G_EXC_ERROR THEN
110         IF (x_msg_data IS NULL) THEN
111             FND_MSG_PUB.Count_And_Get
112             (      p_encoded   =>  FND_API.G_FALSE
113                 ,  p_count     =>  x_msg_count
114                 ,  p_data      =>  x_msg_data
115             );
116     END IF;
117 
118     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
119     x_return_status :=  FND_API.G_RET_STS_ERROR;
120 
121     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
122         IF (x_msg_data IS NULL) THEN
123             FND_MSG_PUB.Count_And_Get
124             (      p_encoded   =>  FND_API.G_FALSE
125                 ,  p_count     =>  x_msg_count
126                 ,  p_data      =>  x_msg_data
127             );
128         END IF;
129     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
130     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
131 
132     WHEN NO_DATA_FOUND THEN
133         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
134         IF (x_msg_data IS NOT NULL) THEN
135             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.delete_Custom_View ';
136         ELSE
137             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.delete_Custom_View ';
138         END IF;
139         --DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND '||x_msg_data);
140 
141     WHEN OTHERS THEN
142         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
143         IF (x_msg_data IS NOT NULL) THEN
144             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.delete_Custom_View ';
145         ELSE
146             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.delete_Custom_View ';
147         END IF;
148         --DBMS_OUTPUT.PUT_LINE('EXCEPTION OTHERS '||x_msg_data);
149 
150 END delete_Custom_View;
151 
152 /*******************************************************************************************************
153  Description  :- This procedure takes care of assigning and unassigning the views witl the tab and
154                  also setting one of the views as the default one.
155  Input        :- tab_id,comma separated assign view ids, default view id, comma separated unassinged
156                  view ids.
157  Output       :- The views are assigned/unassigned to the tab
158  Creator      :- ashankar 27-OCT-2003
159 /*******************************************************************************************************/
160 
161 PROCEDURE Assign_Unassign_Views(
162     p_commit             IN          VARCHAR2 := FND_API.G_FALSE
163    ,p_tab_id             IN              NUMBER
164    ,p_default_value      IN              NUMBER
165    ,p_assign_views       IN              VARCHAR2
166    ,p_unassign_views     IN              VARCHAR2
167    ,p_time_stamp         IN              VARCHAR2 :=NULL
168    ,x_return_status      OUT    NOCOPY   VARCHAR2
169    ,x_msg_count          OUT    NOCOPY   NUMBER
170    ,x_msg_data           OUT    NOCOPY   VARCHAR2
171 )IS
172 BEGIN
173    FND_MSG_PUB.Initialize;
174    x_return_status := FND_API.G_RET_STS_SUCCESS;
175 
176    IF (p_tab_id IS NULL) THEN
177        FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_SCORECARD_VIEW_ID');
178        FND_MESSAGE.SET_TOKEN('BSC_SCORECARD', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON', 'TAB_ID'), TRUE);
179        FND_MSG_PUB.ADD;
180        RAISE FND_API.G_EXC_ERROR;
181    END IF;
182 
183    BSC_BIS_LOCKS_PUB.LOCK_TAB
184    (
185         p_tab_id          =>  p_tab_id
186        ,p_time_stamp      =>  p_time_stamp
187        ,x_return_status   =>  x_return_status
188        ,x_msg_count       =>  x_msg_count
189        ,x_msg_data        =>  x_msg_data
190 
191     );
192    IF (x_return_status  <> FND_API.G_RET_STS_SUCCESS) THEN
193      --DBMS_OUTPUT.PUT_LINE('BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views Failed: at BSC_BIS_LOCKS_PUB.LOCK_TAB');
194       RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
195    END IF;
196 
197    BSC_CUSTOM_VIEW_PVT.Assign_Unassign_Views
198    (
199      p_tab_id          =>   p_tab_id
200     ,p_default_value   =>   p_default_value
201     ,p_assign_views    =>   p_assign_views
202     ,p_unassign_views  =>   p_unassign_views
203     ,x_return_status   =>   x_return_status
204     ,x_msg_count       =>   x_msg_count
205     ,x_msg_data        =>   x_msg_data
206    );
207 
208     IF (x_return_status  <> FND_API.G_RET_STS_SUCCESS) THEN
209      --DBMS_OUTPUT.PUT_LINE('BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views Failed: at BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views <'||x_msg_data||'>');
210      RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
211     END IF;
212 
213 EXCEPTION
214     WHEN FND_API.G_EXC_ERROR THEN
215         IF (x_msg_data IS NULL) THEN
216         FND_MSG_PUB.Count_And_Get
217         (      p_encoded   =>  FND_API.G_FALSE
218             ,  p_count     =>  x_msg_count
219             ,  p_data      =>  x_msg_data
220         );
221     END IF;
222 
223     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
224     x_return_status :=  FND_API.G_RET_STS_ERROR;
225 
226     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
227         IF (x_msg_data IS NULL) THEN
228             FND_MSG_PUB.Count_And_Get
229             (      p_encoded   =>  FND_API.G_FALSE
230                     ,  p_count     =>  x_msg_count
231                 ,  p_data      =>  x_msg_data
232             );
233         END IF;
234     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
235     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
236 
237     WHEN NO_DATA_FOUND THEN
238         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
239         IF (x_msg_data IS NOT NULL) THEN
240             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views ';
241         ELSE
242             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views ';
243         END IF;
244         --DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND '||x_msg_data);
245 
246     WHEN OTHERS THEN
247         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
248         IF (x_msg_data IS NOT NULL) THEN
249             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views ';
250         ELSE
251             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Assign_Unassign_Views ';
252         END IF;
253         --DBMS_OUTPUT.PUT_LINE('EXCEPTION OTHERS '||x_msg_data);
254 END Assign_Unassign_Views;
255 
256 /*******************************************************************************
257  Decription :- This procedure will Assign the custom views for the tab.
258                It means it will set the enabled_flag =1 in BSC_TAB_VIEWS_B table
259                for tree view, detail_view and custom views.
260                For scorecard view, strategy map view it will set KPI_MODEL =1
261                and BSC_MODEL =1 in BSC_TABS_B table.
262  Input      :- Comma separated views ids which needs to be Assigned.
263  Created by :- ashankar 27-Oct-2003
264 /*******************************************************************************/
265 
266 PROCEDURE Assign_Cust_Views
267 (    p_commit                 IN              VARCHAR2 := FND_API.G_FALSE
268     ,p_tab_id                 IN              NUMBER
269     ,p_assign_views           IN              VARCHAR2
270     ,x_return_status          OUT    NOCOPY   VARCHAR2
271     ,x_msg_count              OUT    NOCOPY   NUMBER
272     ,x_msg_data               OUT    NOCOPY   VARCHAR2
273  )IS
274  BEGIN
275     FND_MSG_PUB.Initialize;
276     x_return_status := FND_API.G_RET_STS_SUCCESS;
277 
278     IF (p_tab_id IS NULL) THEN
279        FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_SCORECARD_VIEW_ID');
280        FND_MESSAGE.SET_TOKEN('BSC_SCORECARD', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON', 'TAB_ID'), TRUE);
281        FND_MSG_PUB.ADD;
282        RAISE FND_API.G_EXC_ERROR;
283     END IF;
284     IF (p_assign_views IS NOT NULL) THEN
285 
286         BSC_CUSTOM_VIEW_PVT.Assign_Cust_Views
287         (
288              p_tab_id          =>   p_tab_id
289             ,p_assign_views    =>   p_assign_views
290             ,x_return_status   =>   x_return_status
291             ,x_msg_count       =>   x_msg_count
292             ,x_msg_data        =>   x_msg_data
293          );
294 
295          IF (x_return_status  <> FND_API.G_RET_STS_SUCCESS) THEN
296              --DBMS_OUTPUT.PUT_LINE('BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views Failed: at BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views <'||x_msg_data||'>');
297              RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
298          END IF;
299     END IF;
300 
301  EXCEPTION
302     WHEN FND_API.G_EXC_ERROR THEN
303        IF (x_msg_data IS NULL) THEN
304          FND_MSG_PUB.Count_And_Get
305         (      p_encoded   =>  FND_API.G_FALSE
306             ,  p_count     =>  x_msg_count
307             ,  p_data      =>  x_msg_data
308         );
309            END IF;
310 
311     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
312     x_return_status :=  FND_API.G_RET_STS_ERROR;
313 
314     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
315         IF (x_msg_data IS NULL) THEN
316            FND_MSG_PUB.Count_And_Get
317             (      p_encoded   =>  FND_API.G_FALSE
318                 ,  p_count     =>  x_msg_count
319                 ,  p_data      =>  x_msg_data
320             );
321         END IF;
322     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
323     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
324 
325     WHEN NO_DATA_FOUND THEN
326        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
327        IF (x_msg_data IS NOT NULL) THEN
328         x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
329        ELSE
330         x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
331        END IF;
332        --DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND '||x_msg_data);
333 
334     WHEN OTHERS THEN
335        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
336        IF (x_msg_data IS NOT NULL) THEN
337         x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
338        ELSE
339         x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
340        END IF;
341        --DBMS_OUTPUT.PUT_LINE('EXCEPTION OTHERS '||x_msg_data);
342  END Assign_Cust_Views;
343 
344  /*******************************************************************************
345   Unassign_Cust_Views
346   Decription :- This procedure will UnAssign the custom views for the tab.
347                 It means it will set the enabled_flag =0 in BSC_TAB_VIEWS_B table
348                 for tree view, detail_view and custom views.
349                 For scorecard view, strategy map view it will set KPI_MODEL =0
350                 and BSC_MODEL =0 in BSC_TABS_B table.
351   Input      :- Comma separated views ids which needs to be Assigned.
352   Created by :- ashankar 27-Oct-2003
353 /*******************************************************************************/
354 
355  PROCEDURE Unassign_Cust_Views
356  (    p_commit                 IN             VARCHAR2 := FND_API.G_FALSE
357      ,p_tab_id                 IN              NUMBER
358      ,p_unassign_views         IN              VARCHAR2
359      ,x_return_status          OUT    NOCOPY   VARCHAR2
360      ,x_msg_count              OUT    NOCOPY   NUMBER
361      ,x_msg_data               OUT    NOCOPY   VARCHAR2
362  )IS
363 
364  BEGIN
365      FND_MSG_PUB.Initialize;
366      x_return_status := FND_API.G_RET_STS_SUCCESS;
367 
368      IF (p_tab_id IS NULL) THEN
372            RAISE FND_API.G_EXC_ERROR;
369            FND_MESSAGE.SET_NAME('BSC','BSC_INVALID_SCORECARD_VIEW_ID');
370            FND_MESSAGE.SET_TOKEN('BSC_SCORECARD', BSC_APPS.Get_Lookup_Value('BSC_UI_COMMON', 'TAB_ID'), TRUE);
371            FND_MSG_PUB.ADD;
373      END IF;
374 
375      IF(p_unassign_views IS NOT NULL) THEN
376 
377         BSC_CUSTOM_VIEW_PVT.Unassign_Cust_Views
378         (
379             p_tab_id           =>   p_tab_id
380             ,p_unassign_views  =>   p_unassign_views
381             ,x_return_status   =>   x_return_status
382             ,x_msg_count       =>   x_msg_count
383             ,x_msg_data        =>   x_msg_data
384         );
385          IF (x_return_status  <> FND_API.G_RET_STS_SUCCESS) THEN
386              --DBMS_OUTPUT.PUT_LINE('BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views Failed: at BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views <'||x_msg_data||'>');
387              RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
388          END IF;
389      END IF;
390  EXCEPTION
391    WHEN FND_API.G_EXC_ERROR THEN
392        IF (x_msg_data IS NULL) THEN
393          FND_MSG_PUB.Count_And_Get
394             (      p_encoded   =>  FND_API.G_FALSE
395                 ,  p_count     =>  x_msg_count
396                 ,  p_data      =>  x_msg_data
397             );
398         END IF;
399 
400     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
401     x_return_status :=  FND_API.G_RET_STS_ERROR;
402 
403     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
404         IF (x_msg_data IS NULL) THEN
405            FND_MSG_PUB.Count_And_Get
406                 (      p_encoded   =>  FND_API.G_FALSE
407                         ,  p_count     =>  x_msg_count
408                     ,  p_data      =>  x_msg_data
409                 );
410         END IF;
411     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
412     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
413 
414     WHEN NO_DATA_FOUND THEN
415        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
416        IF (x_msg_data IS NOT NULL) THEN
417             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
418        ELSE
419             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
420        END IF;
421        --DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND '||x_msg_data);
422 
423     WHEN OTHERS THEN
424        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
425        IF (x_msg_data IS NOT NULL) THEN
426             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
427        ELSE
428             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Assign_Cust_Views ';
429        END IF;
430        --DBMS_OUTPUT.PUT_LINE('EXCEPTION OTHERS '||x_msg_data);
431 END Unassign_Cust_Views;
432 
433 
434 /*******************************************************************************
435   Delete_Custom_View_Links
436   Decription :- This procedure will UnAssign the custom views for the tab.
437                 It means it will set the enabled_flag =0 in BSC_TAB_VIEWS_B table
438                 for tree view, detail_view and custom views.
439                 For scorecard view, strategy map view it will set KPI_MODEL =0
440                 and BSC_MODEL =0 in BSC_TABS_B table.
441   Input      :- Comma separated views ids which needs to be Assigned.
442   Created by :- ashankar 27-Oct-2003
443 /*******************************************************************************/
444 PROCEDURE Delete_Custom_View_Links
445   (
446       p_commit                 IN              VARCHAR2  := FND_API.G_FALSE
447     , p_tab_id                 IN              NUMBER
448     , p_obj_id                 IN              NUMBER
449     , x_return_status          OUT    NOCOPY   VARCHAR2
450     , x_msg_count              OUT    NOCOPY   NUMBER
451     , x_msg_data               OUT    NOCOPY   VARCHAR2
452   )IS
453   l_Count         NUMBER;
454 
455   BEGIN
456      FND_MSG_PUB.Initialize;
457      x_return_status := FND_API.G_RET_STS_SUCCESS;
458 
459      BSC_CUSTOM_VIEW_PVT.Delete_Custom_View_Links
460      (
461            p_commit         =>  p_commit
462          , p_tab_id         =>  p_tab_id
463          , p_obj_id         =>  p_obj_id
464          , x_return_status  =>  x_return_status
465          , x_msg_count      =>  x_msg_count
466          , x_msg_data       =>  x_msg_data
467      );
468      IF (x_return_status  <> FND_API.G_RET_STS_SUCCESS) THEN
472 
469           --DBMS_OUTPUT.PUT_LINE('BSC_CUSTOM_VIEW_PUB.Delete_Custom_View_Links Failed: at BSC_CUSTOM_VIEW_PVT.Delete_Custom_View_Links <'||x_msg_data||'>');
470        RAISE  FND_API.G_EXC_UNEXPECTED_ERROR;
471      END IF;
473  EXCEPTION
474    WHEN FND_API.G_EXC_ERROR THEN
475        IF (x_msg_data IS NULL) THEN
476          FND_MSG_PUB.Count_And_Get
477             (      p_encoded   =>  FND_API.G_FALSE
478                 ,  p_count     =>  x_msg_count
479                 ,  p_data      =>  x_msg_data
480             );
481         END IF;
482 
483     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
484     x_return_status :=  FND_API.G_RET_STS_ERROR;
485 
486     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
487         IF (x_msg_data IS NULL) THEN
488            FND_MSG_PUB.Count_And_Get
489                 (      p_encoded   =>  FND_API.G_FALSE
490                     ,  p_count     =>  x_msg_count
491                     ,  p_data      =>  x_msg_data
492                 );
493         END IF;
494     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
495     --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
496 
497     WHEN NO_DATA_FOUND THEN
498        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
499        IF (x_msg_data IS NOT NULL) THEN
500             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Delete_Custom_View_Links ';
501        ELSE
502             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Delete_Custom_View_Links ';
503        END IF;
504        --DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND '||x_msg_data);
505 
506     WHEN OTHERS THEN
507        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
508        IF (x_msg_data IS NOT NULL) THEN
509             x_msg_data      :=  x_msg_data||' -> BSC_CUSTOM_VIEW_PUB.Delete_Custom_View_Links ';
510        ELSE
511             x_msg_data      :=  SQLERRM||' at BSC_CUSTOM_VIEW_PUB.Delete_Custom_View_Links ';
512        END IF;
513        --DBMS_OUTPUT.PUT_LINE('EXCEPTION OTHERS '||x_msg_data);
514  END Delete_Custom_View_Links;
515 
516 END BSC_CUSTOM_VIEW_PUB;