DBA Data[Home] [Help]

PACKAGE BODY: APPS.BSC_OPTION_WRAPPER

Source


1 package body BSC_OPTION_WRAPPER as
2 /* $Header: BSCAOWRB.pls 115.7 2003/05/13 13:00:08 pwali ship $ */
3 
4 procedure Update_Option_Name(
5   p_old_option_name			varchar2
6  ,p_new_option_name			varchar2
7  ,p_option_dim_levels		varchar2
8  ,p_option_description		varchar2
9 ) is
10 
11 TYPE Recdc_value		IS REF CURSOR;
12 dc_value			Recdc_value;
13 
14 l_Anal_Opt_Rec			BSC_ANALYSIS_OPTION_PUB.Bsc_Option_Rec_Type;
15 
16 l_msg_count			number;
17 
18 l_commit			varchar2(100) := FND_API.G_TRUE;
19 l_return_status			varchar2(100);
20 l_msg_data			varchar2(100);
21 l_sql				varchar2(2000);
22 
23 
24 begin
25 
26   -- Set language values for l_Anal_Opt_Rec record.
27   l_Anal_Opt_Rec.Bsc_Language := 'US';
28   l_Anal_Opt_Rec.Bsc_Source_Language := 'US';
29 
30   -- Set new name and description value for l_Anal_Opt_Rec record.
31   l_Anal_Opt_Rec.Bsc_Option_Name := p_new_option_name;
32   l_Anal_Opt_Rec.Bsc_Option_Help := p_option_description;
33 
34 
35   -- Need to get the different Indicators and Analysis Options which exactly
36   -- match the current Analysis Option Name and Dimension Level Combination.
37   l_sql := 'select distinct indicator ' ||
38            '               ,analysis_group_id ' ||
39            '               ,option_id ' ||
40            '  from BSC_OPTS_PMF_MEAS_V ' ||
41            ' where option_name = :1'||
42            ' and dim_levels = :2';
43 
44   open dc_value for l_sql using p_old_option_name, p_option_dim_levels;
45     loop
46       fetch dc_value into l_Anal_Opt_Rec.Bsc_Kpi_Id,
47                           l_Anal_Opt_Rec.Bsc_Analysis_Group_Id,
48                           l_Anal_Opt_Rec.Bsc_Analysis_Option_Id;
49       exit when dc_value%NOTFOUND;
50       BSC_ANALYSIS_OPTION_PUB.Update_Analysis_Options( l_commit
51                                                       ,l_Anal_Opt_Rec
52                                                       ,l_return_status
53                                                       ,l_msg_count
54                                                       ,l_msg_data);
55     end loop;
56   close dc_value;
57 
58 EXCEPTION
59   WHEN FND_API.G_EXC_ERROR THEN
60     rollback;
61     l_return_status := FND_API.G_RET_STS_ERROR;
62     FND_MSG_PUB.Count_And_Get( p_count  =>      l_msg_count
63                               ,p_data   =>      l_msg_data);
64   WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
65     rollback;
66     l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
67     FND_MSG_PUB.Count_And_Get( p_count    =>      l_msg_count
68                               ,p_data     =>      l_msg_data);
69   WHEN NO_DATA_FOUND THEN
70     rollback;
71     l_return_status := FND_API.G_RET_STS_ERROR;
72     FND_MSG_PUB.Count_And_Get( p_count    =>      l_msg_count
73                               ,p_data     =>      l_msg_data);
74   WHEN OTHERS THEN
75     rollback;
76     l_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
77     FND_MSG_PUB.Count_And_Get( p_count    =>      l_msg_count
78                               ,p_data     =>      l_msg_data);
79 
80 
81 end Update_Option_Name;
82 
83 end BSC_OPTION_WRAPPER;