DBA Data[Home] [Help]

PACKAGE BODY: APPS.CSI_CTR_EST_CTR_READING_GRP

Source


1 PACKAGE BODY CSI_CTR_EST_CTR_READING_GRP AS
2 /* $Header: csigectb.pls 120.0.12010000.2 2008/10/31 21:09:46 rsinn ship $ */
3 
4 -- --------------------------------------------------------
5 -- Define global variables
6 -- --------------------------------------------------------
7 
8 --G_PKG_NAME CONSTANT VARCHAR2(30):= 'CSI_CTR_EST_CTR_READING_GRP';
9 G_FILE_NAME CONSTANT VARCHAR2(12) := 'csigectb.pls';
10 
11 --|---------------------------------------------------
12 --| procedure name: estimate_counter_reading
13 --| description :   procedure used to
14 --|                 estimate counter reading
15 --|---------------------------------------------------
16 
17 PROCEDURE estimate_counter_reading
18 (
19    P_Api_Version_Number           IN   NUMBER,
20    P_Init_Msg_List                IN   VARCHAR2     := FND_API.G_FALSE,
21    P_Commit                       IN   VARCHAR2     := FND_API.G_FALSE,
22    p_validation_level             IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
23    p_counter_id                   IN   NUMBER,
24    p_estimation_period_start_date IN	DATE,
25    p_estimation_period_end_date   IN   DATE,
26    p_avg_calculation_start_date   IN   DATE,
27    p_number_of_readings           IN   NUMBER,
28    x_estimated_usage_qty          OUT  NOCOPY NUMBER,
29    x_estimated_meter_reading      OUT  NOCOPY NUMBER,
30 	x_estimated_period_start_rdg   OUT  NOCOPY NUMBER,
31    X_Return_Status                OUT  NOCOPY VARCHAR2,
32    X_Msg_Count                    OUT  NOCOPY NUMBER,
33    X_Msg_Data                     OUT  NOCOPY VARCHAR2
34 ) IS
35    l_api_name           CONSTANT   VARCHAR2(30)   := 'ESTIMATE_COUNTER_READING';
36    l_api_version_number CONSTANT   NUMBER         := 1.0;
37    -- l_debug_level                   NUMBER;
38 BEGIN
39    -- Standard Start of API savepoint
40    SAVEPOINT ESTIMATE_COUNTER_READING;
41 
42    -- Check for freeze_flag in csi_install_parameters is set to 'Y'
43    csi_ctr_gen_utility_pvt.check_ib_active;
44 
45    -- Standard call to check for call compatibility.
46    IF NOT FND_API.Compatible_API_Call (l_api_version_number ,
47                                        p_api_version_number ,
48                                        l_api_name ,
49                                        G_PKG_NAME )
50    THEN
51       RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
52    END IF;
53 
54    -- Initialize message list if p_init_msg_list is set to TRUE.
55    IF FND_API.to_Boolean( p_init_msg_list ) THEN
56       FND_MSG_PUB.initialize;
57    END IF;
58 
59    -- Initialize API return status to SUCCESS
60    x_return_status := FND_API.G_RET_STS_SUCCESS;
61 
62    -- Read the debug profiles values in to global variable 7197402
63    CSI_CTR_GEN_UTILITY_PVT.read_debug_profiles;
64 
65    -- Check the profile option debug_level for debug message reporting
66    -- l_debug_level:=fnd_profile.value('CSI_COUNTER_DEBUG_LEVEL');
67 
68    -- If debug_level = 1 then dump the procedure name
69    IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 0) THEN
70       csi_ctr_gen_utility_pvt.put_line( 'estimate_counter_reading');
71    END IF;
72 
73    -- If the debug level = 2 then dump all the parameters values.
74    IF (CSI_CTR_GEN_UTILITY_PVT.g_debug_level > 1) THEN
75       csi_ctr_gen_utility_pvt.put_line( 'estimate_counter_reading'   ||
76 					                         p_api_version_number    ||'-'||
77 					                         p_commit                ||'-'||
78 					                         p_init_msg_list         ||'-'||
79 					                         p_validation_level );
80    END IF;
81 
82    -- call private API
83    CSI_COUNTER_READINGS_PVT.ESTIMATE_COUNTER_READING(
84       p_api_version                 => p_api_version_number,
85       p_init_msg_list               => p_init_msg_list,
86       p_commit                      => p_commit,
87       p_validation_level            => p_validation_level,
88       p_counter_id                  => p_counter_id,
89       p_estimation_period_start_date => p_estimation_period_start_date,
90       p_estimation_period_end_date  => p_estimation_period_end_date,
91       p_avg_calculation_start_date  => p_avg_calculation_start_date,
92       p_number_of_readings          => p_number_of_readings,
93       x_estimated_usage_qty         => x_estimated_usage_qty,
94       x_estimated_meter_reading     => x_estimated_meter_reading,
95       x_estimated_period_start_rdg  => x_estimated_period_start_rdg,
96       x_return_status               => x_return_status,
97       x_msg_count                   => x_msg_count,
98       x_msg_data                    => x_msg_data
99    );
100    IF NOT (x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
101       ROLLBACK TO ESTIMATE_COUNTER_READING;
102       RAISE FND_API.G_EXC_ERROR;
103    END IF;
104 
105    -- End of API Body.
106    IF FND_API.To_Boolean(p_commit) THEN
107       COMMIT WORK;
108    END IF;
109 
110    FND_MSG_PUB.Count_And_Get
111       (p_count => x_msg_count,
112        p_data => x_msg_data
113       );
114 
115 EXCEPTION
116    WHEN FND_API.G_EXC_ERROR THEN
117       ROLLBACK TO ESTIMATE_COUNTER_READING;
118       x_return_status := FND_API.G_RET_STS_ERROR ;
119       FND_MSG_PUB.Count_And_Get
120                (p_count => x_msg_count ,
121                 p_data => x_msg_data
122                );
123    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
124       ROLLBACK TO ESTIMATE_COUNTER_READING;
125       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
126       FND_MSG_PUB.Count_And_Get
127                (p_count => x_msg_count ,
128                 p_data => x_msg_data
129                );
130    WHEN OTHERS THEN
131       ROLLBACK TO  ESTIMATE_COUNTER_READING;
132       x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
133       IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
134          FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME ,l_api_name);
135       END IF;
136       FND_MSG_PUB.Count_And_Get
137                (p_count => x_msg_count ,
138                 p_data => x_msg_data
139                );
140 
141 END estimate_counter_reading;
142 
143 END CSI_CTR_EST_CTR_READING_GRP;