[Home] [Help]
PACKAGE BODY: APPS.BSC_CALENDAR_WRAPPER
Source
1 PACKAGE BODY BSC_CALENDAR_WRAPPER AS
2 /* $Header: BSCWCALB.pls 120.1 2005/11/07 03:37:14 appldev noship $ */
3 /*
4 REM +=======================================================================+
5 REM | Copyright (c) 2004 Oracle Corporation, Redwood Shores, CA, USA |
6 REM | All rights reserved. |
7 REM +=======================================================================+
8 REM | FILENAME |
9 REM | BSCWCALB.pls |
10 REM | |
11 REM | DESCRIPTION |
12 REM | Module: This is Wrapper Packages which takes the Values from UI |
13 REM | and populates calendar record with these values |
14 REM | NOTES |
15 REM | 07-JUN-2005 Krishna Created. |
16 REM | 29-JUN-2005 Aditya Rao added parameter p_Base_Per_Ids |
17 REM | 07-JUL-2005 Aditya Rao added Locking APIs |
18 REM +=======================================================================+
19 */
20
21 G_PKG_NAME CONSTANT VARCHAR2(30):='BSC_CALENDAR_WRAPPER';
22
23 PROCEDURE Create_Calendar_UI
24 ( p_Api_Version IN NUMBER
25 , p_Commit IN VARCHAR2
26 , p_Calendar_Id IN NUMBER
27 , p_Edw_Flag IN NUMBER
28 , p_Edw_Calendar_Id IN NUMBER
29 , p_Edw_Calendar_Type_Id IN NUMBER
30 , p_Fiscal_Year IN NUMBER
31 , p_Fiscal_Change IN NUMBER
32 , p_Range_Yr_Mod IN NUMBER
33 , p_Current_Year IN NUMBER
34 , p_Start_Month IN NUMBER
35 , p_Start_Day IN NUMBER
36 , p_Name IN VARCHAR2
37 , p_Help IN VARCHAR2
38 , p_Dim_Short_Name IN VARCHAR2
39 , p_Application_Id IN NUMBER
40 , p_Base_Per_Ids IN VARCHAR2
41 , p_Created_By IN NUMBER
42 , p_Creation_Date IN DATE
43 , p_Last_Updated_By IN NUMBER
44 , p_Last_Update_Date IN DATE
45 , p_Last_Update_Login IN NUMBER
46 , x_Return_Status OUT NOCOPY VARCHAR2
47 , x_Msg_Count OUT NOCOPY NUMBER
48 , x_Msg_Data OUT NOCOPY VARCHAR2
49 )IS
50 l_Calendar_Record BSC_CALENDAR_PUB.Calendar_Type_Record;
51 BEGIN
52 FND_MSG_PUB.Initialize;
53 x_Return_Status := FND_API.G_RET_STS_SUCCESS;
54 --Here Just populate the calendar record with the values passed from UI and call public API
55 l_Calendar_Record.Calendar_Id := p_Calendar_Id;
56 l_Calendar_Record.Edw_Flag := p_Edw_Flag;
57 l_Calendar_Record.Edw_Calendar_Id := p_Edw_Calendar_Id;
58 l_Calendar_Record.Edw_Calendar_Type_Id := p_Edw_Calendar_Type_Id;
59 l_Calendar_Record.Fiscal_Year := p_Fiscal_Year;
60 l_Calendar_Record.Fiscal_Change := p_Fiscal_Change;
61 l_Calendar_Record.Range_Yr_Mod := p_Range_Yr_Mod;
62 l_Calendar_Record.Current_Year := p_Current_Year;
63 l_Calendar_Record.Start_Month := p_Start_Month;
64 l_Calendar_Record.Start_Day := p_Start_Day;
65 l_Calendar_Record.Name := p_Name;
66 l_Calendar_Record.Help := p_Help;
67 l_Calendar_Record.Dim_Short_Name := p_Dim_Short_Name;
68 l_Calendar_Record.Application_Id := p_Application_Id;
69 l_Calendar_Record.Creation_Date := p_Creation_Date;
70 l_Calendar_Record.Last_Updated_By := p_Last_Updated_By;
71 l_Calendar_Record.Last_Update_Date := p_Last_Update_Date;
72 l_Calendar_Record.Last_Update_Login := p_Last_Update_Login;
73 l_Calendar_Record.Base_Periodicities_Ids := p_Base_Per_Ids;
74 --dbms_output.put_line('before creating BSC_CALENDAR_PUB.Create_Calendar');
75 BSC_CALENDAR_PUB.Create_Calendar
76 ( p_Api_Version => p_Api_Version
77 , p_Commit => p_Commit
78 , p_Calendar_Record => l_Calendar_Record
79 , x_Return_Status => x_Return_Status
80 , x_Msg_Count => x_Msg_Count
81 , x_Msg_Data => x_Msg_Data
82 );
83 IF(x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
84 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
85 END IF;
86
87 EXCEPTION
88 WHEN FND_API.G_EXC_ERROR THEN
89 IF (x_msg_data IS NULL) THEN
90 FND_MSG_PUB.Count_And_Get
91 ( p_encoded => FND_API.G_FALSE
92 , p_count => x_msg_count
93 , p_data => x_msg_data
94 );
95 END IF;
96 x_return_status := FND_API.G_RET_STS_ERROR;
97 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
98 IF (x_msg_data IS NULL) THEN
99 FND_MSG_PUB.Count_And_Get
100 ( p_encoded => FND_API.G_FALSE
101 , p_count => x_msg_count
102 , p_data => x_msg_data
103 );
104 END IF;
105 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
106 WHEN NO_DATA_FOUND THEN
107 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
108 IF (x_msg_data IS NOT NULL) THEN
109 x_msg_data := x_msg_data||' -> BSC_CALENDAR_WRAPPER.Create_Calendar_UI ';
110 ELSE
111 x_msg_data := SQLERRM||' at BSC_CALENDAR_WRAPPER.Create_Calendar_UI ';
112 END IF;
113 WHEN OTHERS THEN
114 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
115 IF (x_msg_data IS NOT NULL) THEN
116 x_msg_data := x_msg_data||' -> BSC_CALENDAR_WRAPPER.Create_Calendar_UI ';
117 ELSE
118 x_msg_data := SQLERRM||' at BSC_CALENDAR_WRAPPER.Create_Calendar_UI ';
119 END IF;
120
121 END Create_Calendar_UI;
122 /*******************************************************************************/
123 PROCEDURE Update_Calendar_UI
124 ( p_Api_Version IN NUMBER
125 , p_Commit IN VARCHAR2
126 , p_Calendar_Id IN NUMBER
127 , p_Edw_Flag IN NUMBER
128 , p_Edw_Calendar_Id IN NUMBER
129 , p_Edw_Calendar_Type_Id IN NUMBER
130 , p_Fiscal_Year IN NUMBER
131 , p_Fiscal_Change IN NUMBER
132 , p_Range_Yr_Mod IN NUMBER
133 , p_Current_Year IN NUMBER
134 , p_Start_Month IN NUMBER
135 , p_Start_Day IN NUMBER
136 , p_Name IN VARCHAR2
137 , p_Help IN VARCHAR2
138 , p_Dim_Short_Name IN VARCHAR2
139 , p_Application_Id IN NUMBER
140 , p_Time_Stamp IN VARCHAR2 := NULL
141 , p_Created_By IN NUMBER
142 , p_Creation_Date IN DATE
143 , p_Last_Updated_By IN NUMBER
144 , p_Last_Update_Date IN DATE
145 , p_Last_Update_Login IN NUMBER
146 , x_Return_Status OUT NOCOPY VARCHAR2
147 , x_Msg_Count OUT NOCOPY NUMBER
148 , x_Msg_Data OUT NOCOPY VARCHAR2
149 )IS
150 l_Calendar_Record BSC_CALENDAR_PUB.Calendar_Type_Record;
151 BEGIN
152 --dbms_output.put_line('i came here');
153 FND_MSG_PUB.Initialize;
154 x_Return_Status := FND_API.G_RET_STS_SUCCESS;
155 --Here Just populate the calendar record with the values passed from UI and call public API
156 l_Calendar_Record.Calendar_Id := p_Calendar_Id;
157 --dbms_output.put_line('not able to assign the value');
158 l_Calendar_Record.Edw_Flag := p_Edw_Flag;
159 l_Calendar_Record.Edw_Calendar_Id := p_Edw_Calendar_Id;
160 l_Calendar_Record.Edw_Calendar_Type_Id := p_Edw_Calendar_Type_Id;
161 l_Calendar_Record.Fiscal_Year := p_Fiscal_Year;
162 l_Calendar_Record.Fiscal_Change := p_Fiscal_Change;
163 l_Calendar_Record.Range_Yr_Mod := p_Range_Yr_Mod;
164 l_Calendar_Record.Current_Year := p_Current_Year;
165 l_Calendar_Record.Start_Month := p_Start_Month;
166 l_Calendar_Record.Start_Day := p_Start_Day;
167 l_Calendar_Record.Name := p_Name;
168 l_Calendar_Record.Help := p_Help;
169 l_Calendar_Record.Dim_Short_Name := p_Dim_Short_Name;
170 l_Calendar_Record.Application_Id := p_Application_Id;
171 l_Calendar_Record.Created_By := p_Created_By;
172 l_Calendar_Record.Creation_Date := p_Creation_Date;
173 l_Calendar_Record.Last_Updated_By := p_Last_Updated_By;
174 l_Calendar_Record.Last_Update_Date := p_Last_Update_Date;
175 l_Calendar_Record.Last_Update_Login := p_Last_Update_Login;
176 --dbms_output.put_line('before creating BSC_CALENDAR_PUB.Update_Calendar');
177
178 BSC_BIS_LOCKS_PUB.Lock_Calendar (
179 p_Calendar_Id => p_Calendar_Id
180 , p_Time_Stamp => p_Time_Stamp
181 , x_Return_Status => x_Return_Status
182 , x_Msg_Count => x_Msg_Count
183 , x_Msg_Data => x_Msg_Data
184 );
185 IF(x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
186 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
187 END IF;
188
189
190 BSC_CALENDAR_PUB.Update_Calendar
191 ( p_Api_Version => p_Api_Version
192 , p_Commit => p_Commit
193 , p_Calendar_Record => l_Calendar_Record
194 , x_Return_Status => x_Return_Status
195 , x_Msg_Count => x_Msg_Count
196 , x_Msg_Data => x_Msg_Data
197 );
198 IF(x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
199 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
200 END IF;
201
202 EXCEPTION
203 WHEN FND_API.G_EXC_ERROR THEN
204 IF (x_msg_data IS NULL) THEN
205 FND_MSG_PUB.Count_And_Get
206 ( p_encoded => FND_API.G_FALSE
207 , p_count => x_msg_count
208 , p_data => x_msg_data
209 );
210 END IF;
211 x_return_status := FND_API.G_RET_STS_ERROR;
212 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
213 IF (x_msg_data IS NULL) THEN
214 FND_MSG_PUB.Count_And_Get
215 ( p_encoded => FND_API.G_FALSE
216 , p_count => x_msg_count
217 , p_data => x_msg_data
218 );
219 END IF;
220 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
221 WHEN NO_DATA_FOUND THEN
222 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
223 IF (x_msg_data IS NOT NULL) THEN
224 x_msg_data := x_msg_data||' -> BSC_CALENDAR_WRAPPER.Update_Calendar_UI ';
225 ELSE
226 x_msg_data := SQLERRM||' at BSC_CALENDAR_WRAPPER.Update_Calendar_UI ';
227 END IF;
228 WHEN OTHERS THEN
229 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
230 IF (x_msg_data IS NOT NULL) THEN
231 x_msg_data := x_msg_data||' -> BSC_CALENDAR_WRAPPER.Update_Calendar_UI ';
232 ELSE
233 x_msg_data := SQLERRM||' at BSC_CALENDAR_WRAPPER.Update_Calendar_UI ';
234 END IF;
235
236 END Update_Calendar_UI;
237
238 PROCEDURE Delete_Calendar_UI
239 ( p_Api_Version IN NUMBER
240 , p_Commit IN VARCHAR2
241 , p_Calendar_Id IN NUMBER
242 , p_Time_Stamp IN VARCHAR2 := NULL
243 , x_Return_Status OUT NOCOPY VARCHAR2
244 , x_Msg_Count OUT NOCOPY NUMBER
245 , x_Msg_Data OUT NOCOPY VARCHAR2
246 )IS
247 l_Calendar_Record BSC_CALENDAR_PUB.Calendar_Type_Record;
248 BEGIN
249 FND_MSG_PUB.Initialize;
250 x_Return_Status := FND_API.G_RET_STS_SUCCESS;
251 --Here Just populate the calendar record with the values passed from UI and call public API
252 l_Calendar_Record.Calendar_Id := p_Calendar_Id;
253
254 BSC_BIS_LOCKS_PUB.Lock_Calendar_And_Periods (
255 p_Calendar_Id => p_Calendar_Id
256 , p_Time_Stamp => p_Time_Stamp
257 , x_Return_Status => x_Return_Status
258 , x_Msg_Count => x_Msg_Count
259 , x_Msg_Data => x_Msg_Data
260 );
261 IF(x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
262 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
263 END IF;
264
265 BSC_CALENDAR_PUB.Delete_Calendar
266 ( p_Api_Version => p_Api_Version
267 , p_Commit => p_Commit
268 , p_Calendar_Record => l_Calendar_Record
269 , x_Return_Status => x_Return_Status
270 , x_Msg_Count => x_Msg_Count
271 , x_Msg_Data => x_Msg_Data
272 );
273 IF(x_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
274 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
275 END IF;
276
277 EXCEPTION
278 WHEN FND_API.G_EXC_ERROR THEN
279 IF (x_msg_data IS NULL) THEN
280 FND_MSG_PUB.Count_And_Get
281 ( p_encoded => FND_API.G_FALSE
282 , p_count => x_msg_count
283 , p_data => x_msg_data
284 );
285 END IF;
286 x_return_status := FND_API.G_RET_STS_ERROR;
287 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
288 IF (x_msg_data IS NULL) THEN
289 FND_MSG_PUB.Count_And_Get
290 ( p_encoded => FND_API.G_FALSE
291 , p_count => x_msg_count
292 , p_data => x_msg_data
293 );
294 END IF;
295 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
296 WHEN NO_DATA_FOUND THEN
297 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
298 IF (x_msg_data IS NOT NULL) THEN
299 x_msg_data := x_msg_data||' -> BSC_CALENDAR_WRAPPER.Delete_Calendar_UI ';
300 ELSE
301 x_msg_data := SQLERRM||' at BSC_CALENDAR_WRAPPER.Delete_Calendar_UI ';
302 END IF;
303 WHEN OTHERS THEN
304 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
305 IF (x_msg_data IS NOT NULL) THEN
306 x_msg_data := x_msg_data||' -> BSC_CALENDAR_WRAPPER.Delete_Calendar_UI ';
307 ELSE
308 x_msg_data := SQLERRM||' at BSC_CALENDAR_WRAPPER.Delete_Calendar_UI ';
309 END IF;
310
311 END Delete_Calendar_UI;
312
313 /*
314 API to check if DBI is installed.
315 */
316
317 FUNCTION Is_Dbi_Calendar_Enabled
318 RETURN VARCHAR2 IS
319 BEGIN
320
321 IF (bsc_dbi_calendar.check_for_dbi) THEN
322 RETURN FND_API.G_TRUE;
323 ELSE
324 RETURN FND_API.G_FALSE;
325 END IF;
326
327 EXCEPTION
328 WHEN OTHERS THEN
329 RETURN FND_API.G_FALSE;
330 END Is_Dbi_Calendar_Enabled;
331
332
333 END BSC_CALENDAR_WRAPPER;