DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_DIM_LEVEL_FILTERS_PVT

Source


1 PACKAGE BODY BSC_DIM_LEVEL_FILTERS_PVT AS
2 /* $Header: BSCVFILB.pls 120.0.12000000.1 2007/07/17 07:44:42 appldev noship $ */
3 /*
4 REM +=======================================================================+
5 REM |    Copyright (c) 2002 Oracle Corporation, Redwood Shores, CA, USA     |
6 REM |                         All rights reserved.                          |
7 REM +=======================================================================+
8 REM | FILENAME                                                              |
9 REM |     BSCVFILB.pls                                                      |
10 REM |                                                                       |
11 REM | DESCRIPTION                                                           |
12 REM |     Module: This Package handle Common Dimension Level for Scorecards |
13 REM |                                                                       |
14 REM | NOTES                                                                 |
15 REM | 16-12-2006 PSOMESUL E#5678943 MIGRATE COMMON DIMENSIONS AND DIMENSION FILTERS TO SCORECARD DESIGNER|
16 REM +=======================================================================+
17 */
18 
19 PROCEDURE delete_filters
20 (
21         p_tab_id         IN             NUMBER
22        ,p_dim_level_id   IN             NUMBER
23        ,p_commit         IN             VARCHAR2 := FND_API.G_FALSE
24        ,x_return_status  OUT   NOCOPY   VARCHAR2
25        ,x_msg_count      OUT   NOCOPY   NUMBER
26        ,x_msg_data       OUT   NOCOPY   VARCHAR2
27 )
28 IS
29 
30 BEGIN
31 IF (p_tab_id is not null and p_dim_level_id is not null) THEN
32    DELETE
33    FROM bsc_sys_filters
34    WHERE source_type = 1
35      AND source_code = p_tab_id
36      AND dim_level_id = p_dim_level_id;
37 END IF;
38 
39 IF (p_commit = FND_API.G_TRUE) THEN
40   COMMIT;
41 END IF;
42 
43 EXCEPTION
44     WHEN FND_API.G_EXC_ERROR THEN
45         FND_MSG_PUB.Count_And_Get
46         (      p_encoded   =>  FND_API.G_FALSE
47            ,   p_count     =>  x_msg_count
48            ,   p_data      =>  x_msg_data
49         );
50 
51         x_return_status :=  FND_API.G_RET_STS_ERROR;
52         RAISE;
53     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
54         FND_MSG_PUB.Count_And_Get
55         (      p_encoded   =>  FND_API.G_FALSE
56            ,   p_count     =>  x_msg_count
57            ,   p_data      =>  x_msg_data
58         );
59         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
60 
61         RAISE;
62     WHEN NO_DATA_FOUND THEN
63         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
64         IF (x_msg_data IS NOT NULL) THEN
65             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.delete_filters ';
66         ELSE
67             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.delete_filters ';
68         END IF;
69 
70         RAISE;
71     WHEN OTHERS THEN
72         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
73         IF (x_msg_data IS NOT NULL) THEN
74             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.delete_filters ';
75         ELSE
76             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.delete_filters ';
77         END IF;
78 
79         RAISE;
80 
81 END delete_filters;
82 
83 
84 PROCEDURE insert_filters
85 (
86         p_source_type     IN             bsc_sys_filters.source_type%TYPE
87        ,p_source_code     IN             bsc_sys_filters.source_code%TYPE
88        ,p_dim_level_id    IN             bsc_sys_filters.dim_level_id%TYPE
89        ,p_dim_level_value IN             bsc_sys_filters.dim_level_value%TYPE
90        ,p_commit          IN             VARCHAR2 := FND_API.G_FALSE
91        ,x_return_status   OUT   NOCOPY   VARCHAR2
92        ,x_msg_count       OUT   NOCOPY   NUMBER
93        ,x_msg_data        OUT   NOCOPY   VARCHAR2
94 )
95 IS
96 BEGIN
97   IF (p_source_type IS NOT NULL AND p_source_code IS NOT NULL AND p_dim_level_id  IS NOT NULL AND p_dim_level_value IS NOT NULL) THEN
98     INSERT
99     INTO
100     bsc_sys_filters(source_type,
101                     source_code,
102                     dim_level_id,
103                     dim_level_value
104                    )
105             VALUES (p_source_type,
106                     p_source_code ,
107                     p_dim_level_id,
108                     p_dim_level_value
109                    );
110     IF (p_commit = FND_API.G_TRUE) THEN
111       COMMIT;
112     END IF;
113   END IF;
114 
115 EXCEPTION
116     WHEN FND_API.G_EXC_ERROR THEN
117         FND_MSG_PUB.Count_And_Get
118         (      p_encoded   =>  FND_API.G_FALSE
119            ,   p_count     =>  x_msg_count
120            ,   p_data      =>  x_msg_data
121         );
122 
123         x_return_status :=  FND_API.G_RET_STS_ERROR;
124         RAISE;
125     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
126         FND_MSG_PUB.Count_And_Get
127         (      p_encoded   =>  FND_API.G_FALSE
128            ,   p_count     =>  x_msg_count
129            ,   p_data      =>  x_msg_data
130         );
131         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
132 
133         RAISE;
134     WHEN NO_DATA_FOUND THEN
135         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
136         IF (x_msg_data IS NOT NULL) THEN
137             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.insert_filters ';
138         ELSE
139             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.insert_filters ';
140         END IF;
141 
142         RAISE;
143     WHEN OTHERS THEN
144         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
145         IF (x_msg_data IS NOT NULL) THEN
146             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.insert_filters ';
147         ELSE
148             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.insert_filters ';
149         END IF;
150 
151         RAISE;
152 
153 END insert_filters;
154 
155 
156 PROCEDURE delete_filters_view
157 (
158         p_tab_id         IN             NUMBER
159        ,p_dim_level_id   IN             NUMBER
160        ,p_commit         IN             VARCHAR2 := FND_API.G_FALSE
161        ,x_return_status  OUT   NOCOPY   VARCHAR2
162        ,x_msg_count      OUT   NOCOPY   NUMBER
163        ,x_msg_data       OUT   NOCOPY   VARCHAR2
164 )
165 IS
166 
167 BEGIN
168 IF (p_tab_id is not null and p_dim_level_id is not null) THEN
169    DELETE
170    FROM bsc_sys_filters_views
171    WHERE source_type  = 1
172      AND source_code  = p_tab_id
173      AND dim_level_id = p_dim_level_id;
174 END IF;
175 
176 IF (p_commit = FND_API.G_TRUE) THEN
177   COMMIT;
178 END IF;
179 
180 EXCEPTION
181     WHEN FND_API.G_EXC_ERROR THEN
182         FND_MSG_PUB.Count_And_Get
183         (      p_encoded   =>  FND_API.G_FALSE
184            ,   p_count     =>  x_msg_count
185            ,   p_data      =>  x_msg_data
186         );
187 
188         x_return_status :=  FND_API.G_RET_STS_ERROR;
189         RAISE;
190     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
191         FND_MSG_PUB.Count_And_Get
192         (      p_encoded   =>  FND_API.G_FALSE
193            ,   p_count     =>  x_msg_count
194            ,   p_data      =>  x_msg_data
195         );
196         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
197 
198         RAISE;
199     WHEN NO_DATA_FOUND THEN
200         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
201         IF (x_msg_data IS NOT NULL) THEN
202             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.delete_filters_view ';
203         ELSE
204             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.delete_filters_view ';
205         END IF;
206 
207         RAISE;
208     WHEN OTHERS THEN
209         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
210         IF (x_msg_data IS NOT NULL) THEN
211             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.delete_filters_view ';
212         ELSE
213             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.delete_filters_view ';
214         END IF;
215 
216         RAISE;
217 END delete_filters_view;
218 
219 
220 PROCEDURE insert_filters_view
221 (
222         p_source_type      IN            bsc_sys_filters_views.source_type%TYPE
223        ,p_source_code      IN            bsc_sys_filters_views.source_code%TYPE
224        ,p_dim_level_id     IN            bsc_sys_filters_views.dim_level_id%TYPE
225        ,p_level_table_name IN            bsc_sys_filters_views.level_table_name%TYPE
226        ,p_level_view_name  IN            bsc_sys_filters_views.level_view_name%TYPE
227        ,p_commit           IN            VARCHAR2 := FND_API.G_FALSE
228        ,x_return_status   OUT   NOCOPY   VARCHAR2
229        ,x_msg_count       OUT   NOCOPY   NUMBER
230        ,x_msg_data        OUT   NOCOPY   VARCHAR2
231 )
232 IS
233 BEGIN
234 
235 IF (p_source_type IS NOT NULL AND p_source_code IS NOT NULL AND p_dim_level_id  IS NOT NULL AND p_level_table_name IS NOT NULL AND p_level_view_name IS NOT NULL) THEN
236     INSERT
237     INTO
238     bsc_sys_filters_views(
239                           source_type,
240                           source_code,
241                           dim_level_id,
242                           level_table_name,
243                           level_view_name)
244     VALUES (p_source_type,
245             p_source_code,
246             p_dim_level_id,
247             p_level_table_name,
248             p_level_view_name
249             );
250     IF (p_commit = FND_API.G_TRUE) THEN
251       COMMIT;
252     END IF;
253   END IF;
254 
255 EXCEPTION
256     WHEN FND_API.G_EXC_ERROR THEN
257         FND_MSG_PUB.Count_And_Get
258         (      p_encoded   =>  FND_API.G_FALSE
259            ,   p_count     =>  x_msg_count
260            ,   p_data      =>  x_msg_data
261         );
262 
263         x_return_status :=  FND_API.G_RET_STS_ERROR;
264         RAISE;
265     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
266         FND_MSG_PUB.Count_And_Get
267         (      p_encoded   =>  FND_API.G_FALSE
268            ,   p_count     =>  x_msg_count
269            ,   p_data      =>  x_msg_data
270         );
271         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
272 
273         RAISE;
274     WHEN NO_DATA_FOUND THEN
275         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
276         IF (x_msg_data IS NOT NULL) THEN
277             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.insert_filters_view ';
278         ELSE
279             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.insert_filters_view ';
280         END IF;
281 
282         RAISE;
283     WHEN OTHERS THEN
284         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
285         IF (x_msg_data IS NOT NULL) THEN
286             x_msg_data      :=  x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PVT.insert_filters_view ';
287         ELSE
288             x_msg_data      :=  SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PVT.insert_filters_view ';
289         END IF;
290 
291         RAISE;
292 
293 END insert_filters_view;
294 
295 END BSC_DIM_LEVEL_FILTERS_PVT;