DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_KPI_MEASURE_WEIGHTS_PVT

Source


1 PACKAGE BODY BSC_KPI_MEASURE_WEIGHTS_PVT AS
2 /* $Header: BSCVKMWB.pls 120.0.12000000.1 2007/07/17 07:44:49 appldev noship $ */
3 
4 /************************************************************************************
5  ************************************************************************************/
6 PROCEDURE Create_Kpi_Measure_Weights (
7   p_commit                   IN            VARCHAR2 := FND_API.G_FALSE
8 , p_kpi_measure_weights_rec  IN            BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec
9 , x_return_status            OUT NOCOPY    VARCHAR2
10 , x_msg_count                OUT NOCOPY    NUMBER
11 , x_msg_data                 OUT NOCOPY    VARCHAR2
12 )
13 IS
14   l_count  NUMBER;
15 BEGIN
16 
17   FND_MSG_PUB.Initialize;
18   x_return_status := FND_API.G_RET_STS_SUCCESS;
19 
20   SAVEPOINT BscKpiMeasureWeightPvt_Create;
21 
22   IF (p_kpi_measure_weights_rec.objective_id IS NULL) THEN
23     FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
24     FND_MSG_PUB.ADD;
25     RAISE FND_API.G_EXC_ERROR;
26   ELSIF (p_kpi_measure_weights_rec.kpi_measure_id IS NULL) THEN
27     FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
28     FND_MSG_PUB.ADD;
29     RAISE FND_API.G_EXC_ERROR;
30   END IF;
31 
32   INSERT INTO bsc_kpi_measure_weights
33   ( indicator
34   , kpi_measure_id
35   , weight
36   , creation_date
37   , created_by
38   , last_update_date
39   , last_updated_by
40   , last_update_login
41   )
42   VALUES
43   ( p_kpi_measure_weights_rec.objective_id
44   , p_kpi_measure_weights_rec.kpi_measure_id
45   , p_kpi_measure_weights_rec.weight
46   , NVL(p_kpi_measure_weights_rec.creation_date, SYSDATE)
47   , NVL(p_kpi_measure_weights_rec.created_by, FND_GLOBAL.USER_ID)
48   , NVL(p_kpi_measure_weights_rec.last_update_date, SYSDATE)
49   , NVL(p_kpi_measure_weights_rec.last_updated_by, FND_GLOBAL.USER_ID)
50   , NVL(p_kpi_measure_weights_rec.last_update_login, FND_GLOBAL.LOGIN_ID)
51   );
52 
53   IF (p_commit = FND_API.G_TRUE) THEN
54     COMMIT;
55   END IF;
56 
57 EXCEPTION
58   WHEN FND_API.G_EXC_ERROR THEN
59     ROLLBACK TO BscKpiMeasureWeightPvt_Create;
60     IF (x_msg_data IS NULL) THEN
61       FND_MSG_PUB.Count_And_Get
62       ( p_encoded   =>  FND_API.G_FALSE
63       , p_count     =>  x_msg_count
64       , p_data      =>  x_msg_data
65       );
66     END IF;
67     x_return_status :=  FND_API.G_RET_STS_ERROR;
68   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
69     ROLLBACK TO BscKpiMeasureWeightPvt_Create;
70     IF (x_msg_data IS NULL) THEN
71       FND_MSG_PUB.Count_And_Get
72       ( p_encoded   =>  FND_API.G_FALSE
73       , p_count     =>  x_msg_count
74       , p_data      =>  x_msg_data
75       );
76     END IF;
77     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
78   WHEN NO_DATA_FOUND THEN
79     ROLLBACK TO BscKpiMeasureWeightPvt_Create;
80     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
81     IF (x_msg_data IS NOT NULL) THEN
82       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
83     ELSE
84       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
85     END IF;
86   WHEN OTHERS THEN
87     ROLLBACK TO BscKpiMeasureWeightPvt_Create;
88     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
89     IF (x_msg_data IS NOT NULL) THEN
90       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
91     ELSE
92       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Create_Kpi_Measure_Weights ';
93     END IF;
94 END Create_Kpi_Measure_Weights;
95 
96 /************************************************************************************
97  ************************************************************************************/
98 PROCEDURE Update_Kpi_Measure_Weights (
99   p_commit                   IN             VARCHAR2 := FND_API.G_FALSE
100 , p_kpi_measure_weights_rec  IN             BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec
101 , x_return_status            OUT NOCOPY     VARCHAR2
102 , x_msg_count                OUT NOCOPY     NUMBER
103 , x_msg_data                 OUT NOCOPY     VARCHAR2
104 )
105 IS
106   l_kpi_measure_weights_rec  BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec;
107 BEGIN
108   FND_MSG_PUB.Initialize;
109   x_return_status := FND_API.G_RET_STS_SUCCESS;
110 
111   SAVEPOINT BscKpiMeasureWeightPvt_Update;
112 
113   IF (p_kpi_measure_weights_rec.objective_id IS NULL) THEN
114     FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
115     FND_MSG_PUB.ADD;
116     RAISE FND_API.G_EXC_ERROR;
117   ELSIF (p_kpi_measure_weights_rec.kpi_measure_id IS NULL) THEN
118     FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
119     FND_MSG_PUB.ADD;
120     RAISE FND_API.G_EXC_ERROR;
121   END IF;
122 
123   Retrieve_Kpi_Measure_Weights
124   ( p_objective_id             => p_kpi_measure_weights_rec.objective_id
125   , p_kpi_measure_id           => p_kpi_measure_weights_rec.kpi_measure_id
126   , x_kpi_measure_weights_rec  => l_kpi_measure_weights_rec
127   , x_return_status            => x_return_status
128   , x_msg_count                => x_msg_count
129   , x_msg_data                 => x_msg_data
130   );
131   IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
132     RAISE  FND_API.G_EXC_ERROR;
133   END IF;
134 
135   IF(p_kpi_measure_weights_rec.weight IS NOT NULL) THEN
136     l_kpi_measure_weights_rec.weight := p_kpi_measure_weights_rec.weight;
137   END IF;
138   IF(p_kpi_measure_weights_rec.last_update_date IS NULL) THEN
139     l_kpi_measure_weights_rec.last_update_date := SYSDATE;
140   ELSE
141     l_kpi_measure_weights_rec.last_update_date := p_kpi_measure_weights_rec.last_update_date;
142   END IF;
143   IF (p_kpi_measure_weights_rec.last_updated_by IS NULL) THEN
144     l_kpi_measure_weights_rec.last_updated_by := FND_GLOBAL.USER_ID;
145   ELSE
146     l_kpi_measure_weights_rec.last_updated_by := p_kpi_measure_weights_rec.last_updated_by;
147   END IF;
148   IF (p_kpi_measure_weights_rec.last_update_login IS NULL) THEN
149     l_kpi_measure_weights_rec.last_update_login := FND_GLOBAL.LOGIN_ID;
150   ELSE
151     l_kpi_measure_weights_rec.last_update_login := p_kpi_measure_weights_rec.last_update_login;
152   END IF;
153 
154   UPDATE bsc_kpi_measure_weights
155     SET weight            = l_kpi_measure_weights_rec.weight
156       , last_updated_by   = l_kpi_measure_weights_rec.last_updated_by
157       , last_update_date  = l_kpi_measure_weights_rec.last_update_date
158       , last_update_login = l_kpi_measure_weights_rec.last_update_login
159     WHERE indicator = l_kpi_measure_weights_rec.objective_id
160     AND   kpi_measure_id = l_kpi_measure_weights_rec.kpi_measure_id;
161 
162   IF (p_commit = FND_API.G_TRUE) THEN
163     COMMIT;
164   END IF;
165 
166 EXCEPTION
167   WHEN FND_API.G_EXC_ERROR THEN
168     ROLLBACK TO BscKpiMeasureWeightPvt_Update;
169     IF (x_msg_data IS NULL) THEN
170       FND_MSG_PUB.Count_And_Get
171       ( p_encoded   =>  FND_API.G_FALSE
172       , p_count     =>  x_msg_count
173       , p_data      =>  x_msg_data
174       );
175     END IF;
176     x_return_status :=  FND_API.G_RET_STS_ERROR;
177   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
178     ROLLBACK TO BscKpiMeasureWeightPvt_Update;
179     IF (x_msg_data IS NULL) THEN
180       FND_MSG_PUB.Count_And_Get
181       ( p_encoded   =>  FND_API.G_FALSE
182       , p_count     =>  x_msg_count
183       , p_data      =>  x_msg_data
184       );
185     END IF;
186     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
187   WHEN NO_DATA_FOUND THEN
188     ROLLBACK TO BscKpiMeasureWeightPvt_Update;
189     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
190     IF (x_msg_data IS NOT NULL) THEN
191       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
192     ELSE
193       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
194     END IF;
195   WHEN OTHERS THEN
196     ROLLBACK TO BscKpiMeasureWeightPvt_Update;
197     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
198     IF (x_msg_data IS NOT NULL) THEN
199       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
200     ELSE
201       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Update_Kpi_Measure_Weights ';
202     END IF;
203 END Update_Kpi_Measure_Weights;
204 
205 /************************************************************************************
206 ************************************************************************************/
207 PROCEDURE Del_Kpi_Measure_Weights (
208   p_commit              IN             VARCHAR2:= FND_API.G_FALSE
209 , p_objective_id        IN             NUMBER
210 , p_kpi_measure_id      IN             NUMBER
211 , x_return_status       OUT NOCOPY     VARCHAR2
212 , x_msg_count           OUT NOCOPY     NUMBER
213 , x_msg_data            OUT NOCOPY     VARCHAR2
214 )
215 IS
216 BEGIN
217   FND_MSG_PUB.Initialize;
218   x_return_status := FND_API.G_RET_STS_SUCCESS;
219 
220   SAVEPOINT BscKpiMeasureWeightPvt_Delete;
221 
222   IF (p_objective_id IS NULL) THEN
223     FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
224     FND_MSG_PUB.ADD;
225     RAISE FND_API.G_EXC_ERROR;
226   ELSIF (p_kpi_measure_id IS NULL) THEN
227     FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
228     FND_MSG_PUB.ADD;
229     RAISE FND_API.G_EXC_ERROR;
230   END IF;
231 
232   DELETE FROM bsc_kpi_measure_weights
233     WHERE indicator = p_objective_id
234     AND   kpi_measure_id = p_kpi_measure_id;
235 
236   IF (p_commit = FND_API.G_TRUE) THEN
237     COMMIT;
238   END IF;
239 
240 EXCEPTION
241   WHEN FND_API.G_EXC_ERROR THEN
242     ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
243     IF (x_msg_data IS NULL) THEN
244       FND_MSG_PUB.Count_And_Get
245       ( p_encoded   =>  FND_API.G_FALSE
246       , p_count     =>  x_msg_count
247       , p_data      =>  x_msg_data
248       );
249     END IF;
250     x_return_status :=  FND_API.G_RET_STS_ERROR;
251   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
252     ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
253     IF (x_msg_data IS NULL) THEN
254       FND_MSG_PUB.Count_And_Get
255       ( p_encoded   =>  FND_API.G_FALSE
256       , p_count     =>  x_msg_count
257       , p_data      =>  x_msg_data
258       );
259     END IF;
260     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
261   WHEN NO_DATA_FOUND THEN
262     ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
263     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
264     IF (x_msg_data IS NOT NULL) THEN
265       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
266     ELSE
267       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
268     END IF;
269   WHEN OTHERS THEN
270     ROLLBACK TO BscKpiMeasureWeightPvt_Delete;
271     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
272     IF (x_msg_data IS NOT NULL) THEN
273       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
274     ELSE
275       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Kpi_Measure_Weights ';
276     END IF;
277 END Del_Kpi_Measure_Weights;
278 
279 /************************************************************************************
283 , p_objective_id        IN             NUMBER
280 ************************************************************************************/
281 PROCEDURE Del_Obj_Kpi_Measure_Weights (
282   p_commit              IN             VARCHAR2:= FND_API.G_FALSE
284 , x_return_status       OUT NOCOPY     VARCHAR2
285 , x_msg_count           OUT NOCOPY     NUMBER
286 , x_msg_data            OUT NOCOPY     VARCHAR2
287 )
288 IS
289 BEGIN
290   FND_MSG_PUB.Initialize;
291   x_return_status := FND_API.G_RET_STS_SUCCESS;
292 
293   SAVEPOINT BscKpiMeasureWeightPvt_DelAll;
294 
295   IF (p_objective_id IS NULL) THEN
296     FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
297     FND_MSG_PUB.ADD;
298     RAISE FND_API.G_EXC_ERROR;
299   END IF;
300 
301   DELETE FROM bsc_kpi_measure_weights
302     WHERE indicator = p_objective_id;
303 
304   IF (p_commit = FND_API.G_TRUE) THEN
305     COMMIT;
306   END IF;
307 
308 EXCEPTION
309   WHEN FND_API.G_EXC_ERROR THEN
310     ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
311     IF (x_msg_data IS NULL) THEN
312       FND_MSG_PUB.Count_And_Get
313       ( p_encoded   =>  FND_API.G_FALSE
314       , p_count     =>  x_msg_count
315       , p_data      =>  x_msg_data
316       );
317     END IF;
318     x_return_status :=  FND_API.G_RET_STS_ERROR;
319   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
320     ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
321     IF (x_msg_data IS NULL) THEN
322       FND_MSG_PUB.Count_And_Get
323       ( p_encoded   =>  FND_API.G_FALSE
324       , p_count     =>  x_msg_count
325       , p_data      =>  x_msg_data
326       );
327     END IF;
328     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
329   WHEN NO_DATA_FOUND THEN
330     ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
331     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
332     IF (x_msg_data IS NOT NULL) THEN
333       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
334     ELSE
335       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
336     END IF;
337   WHEN OTHERS THEN
338     ROLLBACK TO BscKpiMeasureWeightPvt_DelAll;
339     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
340     IF (x_msg_data IS NOT NULL) THEN
341       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
342     ELSE
343       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Del_Obj_Kpi_Measure_Weights ';
344     END IF;
345 END Del_Obj_Kpi_Measure_Weights;
346 
347 /************************************************************************************
348 ************************************************************************************/
349 PROCEDURE Retrieve_Kpi_Measure_Weights (
350   p_objective_id             IN             NUMBER
351 , p_kpi_measure_id           IN             NUMBER
352 , x_kpi_measure_weights_rec  OUT NOCOPY     BSC_KPI_MEASURE_WEIGHTS_PUB.kpi_measure_weights_rec
353 , x_return_status            OUT NOCOPY     VARCHAR2
354 , x_msg_count                OUT NOCOPY     NUMBER
355 , x_msg_data                 OUT NOCOPY     VARCHAR2
356 )
357 IS
358 BEGIN
359   FND_MSG_PUB.Initialize;
360   x_return_status := FND_API.G_RET_STS_SUCCESS;
361 
362   IF (p_objective_id IS NULL) THEN
363     FND_MESSAGE.SET_NAME('BSC','BSC_OBJECTIVE_ID_NULL');
364     FND_MSG_PUB.ADD;
365     RAISE FND_API.G_EXC_ERROR;
366   ELSIF (p_kpi_measure_id IS NULL) THEN
367     FND_MESSAGE.SET_NAME('BSC','BSC_KPI_MEASURE_ID_NULL');
368     FND_MSG_PUB.ADD;
369     RAISE FND_API.G_EXC_ERROR;
370   END IF;
371 
372   SELECT
373     indicator
374   , kpi_measure_id
375   , weight
376   , creation_date
377   , created_by
378   , last_update_date
379   , last_updated_by
380   , last_update_login
381   INTO
382     x_kpi_measure_weights_rec.objective_id
383   , x_kpi_measure_weights_rec.kpi_measure_id
384   , x_kpi_measure_weights_rec.weight
385   , x_kpi_measure_weights_rec.creation_date
386   , x_kpi_measure_weights_rec.created_by
387   , x_kpi_measure_weights_rec.last_update_date
388   , x_kpi_measure_weights_rec.last_updated_by
389   , x_kpi_measure_weights_rec.last_update_login
390   FROM bsc_kpi_measure_weights
391   WHERE indicator = p_objective_id
392   AND   kpi_measure_id = p_kpi_measure_id;
393 
394 EXCEPTION
395   WHEN FND_API.G_EXC_ERROR THEN
396     IF (x_msg_data IS NULL) THEN
397       FND_MSG_PUB.Count_And_Get
398       ( p_encoded   =>  FND_API.G_FALSE
399       , p_count     =>  x_msg_count
400       , p_data      =>  x_msg_data
401       );
402     END IF;
403     x_return_status :=  FND_API.G_RET_STS_ERROR;
404   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
405     IF (x_msg_data IS NULL) THEN
406       FND_MSG_PUB.Count_And_Get
407       ( p_encoded   =>  FND_API.G_FALSE
408       , p_count     =>  x_msg_count
409       , p_data      =>  x_msg_data
410       );
411     END IF;
412     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
413   WHEN NO_DATA_FOUND THEN
414     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
415     IF (x_msg_data IS NOT NULL) THEN
416       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
417     ELSE
418       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
419     END IF;
420   WHEN OTHERS THEN
421     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
422     IF (x_msg_data IS NOT NULL) THEN
423       x_msg_data := x_msg_data || ' -> BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
424     ELSE
425       x_msg_data := SQLERRM || ' at BSC_KPI_MEASURE_WEIGHTS_PVT.Retrieve_Kpi_Measure_Weights ';
426     END IF;
427 END Retrieve_Kpi_Measure_Weights;
428 
429 END BSC_KPI_MEASURE_WEIGHTS_PVT;