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