[Home] [Help]
PACKAGE BODY: APPS.AHL_APPR_SPACE_CAPB_PUB
Source
1 PACKAGE BODY AHL_APPR_SPACE_CAPB_PUB AS
2 /* $Header: AHLPSPCB.pls 115.7 2003/11/04 10:43:08 rroy noship $ */
3
4 G_PKG_NAME VARCHAR2(30) := 'AHL_APPR_SPACE_CAPB_PUB';
5 G_DEBUG VARCHAR2(1) := AHL_DEBUG_PUB.is_log_enabled;
6 --
7 -----------------------------------------------------------
8 -- PACKAGE
9 -- AHL_APPR_SPACE_CAPB_PUB
10 --
11 -- PURPOSE
12 -- This package is a Public API for managing Space and Space capabilities information in
13 -- Advanced Services Online. It contains specification for pl/sql records and tables
14 --
15 -- AHL_SPACE_UNAVIALABLE_VL:
16 -- Process_Space_Restriction (see below for specification)
17 --
18 --
19 -- NOTES
20 --
21 --
22 -- HISTORY
23 -- 17-Apr-2002 ssurapan Created.
24
25 --------------------------------------------------------------------
26 -- PROCEDURE
27 -- Process_Space_Capbl
28 --
29 -- PURPOSE
30 -- Process Space and space capabilities Records
31 --
32 -- PARAMETERS
33 -- p_x_space_rec: the record representing space_rec
34 -- p_x_space_capbl_tbl : the table representing space_capbl_tbl
35 --
36 -- NOTES
37 --------------------------------------------------------------------
38 PROCEDURE Process_Space_Capbl (
39 p_api_version IN NUMBER,
40 p_init_msg_list IN VARCHAR2 := FND_API.g_false,
41 p_commit IN VARCHAR2 := FND_API.g_false,
42 p_validation_level IN NUMBER := FND_API.g_valid_level_full,
43 p_module_type IN VARCHAR2 := 'JSP',
44 p_x_space_rec IN OUT NOCOPY Space_Rec,
45 p_x_space_capbl_tbl IN OUT NOCOPY Space_Capbl_Tbl,
46 x_return_status OUT NOCOPY VARCHAR2,
47 x_msg_count OUT NOCOPY NUMBER,
48 x_msg_data OUT NOCOPY VARCHAR2
49 )
50 IS
51 l_api_name CONSTANT VARCHAR2(30) := 'PROCESS_SPACE_CAPBL';
52 l_api_version CONSTANT NUMBER := 1.0;
53 l_msg_count NUMBER;
54 l_return_status VARCHAR2(1);
55 l_msg_data VARCHAR2(2000);
56 --
57 BEGIN
58 --------------------Initialize ----------------------------------
59 -- Standard Start of API savepoint
60 SAVEPOINT process_space_capbl;
61 -- Check if API is called in debug mode. If yes, enable debug.
62 IF G_DEBUG='Y' THEN
63 AHL_DEBUG_PUB.enable_debug;
64 END IF;
65 -- Debug info.
66 IF G_DEBUG='Y' THEN
67 AHL_DEBUG_PUB.debug( 'enter ahl_appr_space_capb_pub.Process Space capbl','+SPCBL+');
68 END IF;
69 -- Standard call to check for call compatibility.
70 IF FND_API.to_boolean(p_init_msg_list)
71 THEN
72 FND_MSG_PUB.initialize;
73 END IF;
74 -- Initialize API return status to success
75 x_return_status := FND_API.G_RET_STS_SUCCESS;
76 -- Initialize message list if p_init_msg_list is set to TRUE.
77 IF NOT FND_API.COMPATIBLE_API_CALL(l_api_version,
78 p_api_version,
79 l_api_name,G_PKG_NAME)
80 THEN
81 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
82 END IF;
83
84 IF G_DEBUG='Y' THEN
85 AHL_DEBUG_PUB.debug( 'api start pub');
86 END IF;
87
88 --------------------Start of API Body-----------------------------------
89 IF p_x_space_rec.operation_flag = 'C' THEN
95 p_validation_level => p_validation_level,
90 AHL_APPR_SPACE_CAPB_PVT.CREATE_SPACE
91 (
92 p_api_version => l_api_version,
93 p_init_msg_list => p_init_msg_list,
94 p_commit => p_commit,
96 p_module_type => p_module_type,
97 p_x_space_rec => p_x_space_rec,
98 x_return_status => l_return_status,
99 x_msg_count => l_msg_count,
100 x_msg_data => l_msg_data
101 );
102
103 ELSIF p_x_space_capbl_tbl.COUNT > 0 THEN
104 FOR i IN p_x_space_capbl_tbl.first..p_x_space_capbl_tbl.LAST
105 LOOP
106 IF p_x_space_capbl_tbl(i).operation_flag = 'C' THEN
107 AHL_APPR_SPACE_CAPB_PVT.CREATE_SPACE_CAPBLTS
108 (
109 p_api_version => l_api_version,
110 p_init_msg_list => p_init_msg_list,
111 p_commit => p_commit,
112 p_validation_level => p_validation_level,
113 p_module_type => p_module_type,
114 p_x_space_capblts_rec => p_x_space_capbl_tbl(i),
115 x_return_status => l_return_status,
116 x_msg_count => l_msg_count,
117 x_msg_data => l_msg_data
118 );
119 END IF;
120 --Standard check to count messages
121 l_msg_count := Fnd_Msg_Pub.count_msg;
122
123 IF l_msg_count > 0 THEN
124 X_msg_count := l_msg_count;
125 X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
126 RAISE Fnd_Api.G_EXC_ERROR;
127 END IF;
128
129 END LOOP;
130 --For update
131 ELSIF p_x_space_rec.operation_flag = 'U' THEN
132
133 IF G_DEBUG='Y' THEN
134 AHL_DEBUG_PUB.debug( 'inside pub id:'||p_x_space_rec.space_id);
135 AHL_DEBUG_PUB.debug( 'inside pub name:'||p_x_space_rec.space_name);
136 AHL_DEBUG_PUB.debug( 'inside pub cate:'||p_x_space_rec.space_category_code);
137 AHL_DEBUG_PUB.debug( 'inside pub cate:'||p_x_space_rec.space_category_mean);
138 END IF;
139
140 AHL_APPR_SPACE_CAPB_PVT.UPDATE_SPACE
141 (
142 p_api_version => l_api_version,
143 p_init_msg_list => p_init_msg_list,
144 p_commit => p_commit,
145 p_validation_level => p_validation_level,
146 p_module_type => p_module_type,
147 p_space_rec => p_x_space_rec,
148 x_return_status => l_return_status,
149 x_msg_count => l_msg_count,
150 x_msg_data => l_msg_data
151 );
152
156 IF p_x_space_capbl_tbl(i).operation_flag = 'U' THEN
153 ELSIF p_x_space_capbl_tbl.COUNT > 0 THEN
154 FOR i IN p_x_space_capbl_tbl.first..p_x_space_capbl_tbl.LAST
155 LOOP
157 AHL_APPR_SPACE_CAPB_PVT.UPDATE_SPACE_CAPBLTS
158 (
159 p_api_version => l_api_version,
160 p_init_msg_list => p_init_msg_list,
161 p_commit => p_commit,
162 p_validation_level => p_validation_level,
163 p_module_type => p_module_type,
164 p_space_capblts_rec => p_x_space_capbl_tbl(i),
165 x_return_status => l_return_status,
166 x_msg_count => l_msg_count,
167 x_msg_data => l_msg_data
168 );
169 END IF;
170 --Standard check to count messages
171 l_msg_count := Fnd_Msg_Pub.count_msg;
172
173 IF l_msg_count > 0 THEN
174 X_msg_count := l_msg_count;
175 X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
176 RAISE Fnd_Api.G_EXC_ERROR;
177 END IF;
178
179 END LOOP;
180 IF G_DEBUG='Y' THEN
181 AHL_DEBUG_PUB.debug( 'before delete 10');
182 END IF;
183
184 --For Delet
185 ELSIF p_x_space_rec.operation_flag = 'D' THEN
186 AHL_APPR_SPACE_CAPB_PVT.DELETE_SPACE
187 (
188 p_api_version => l_api_version,
189 p_init_msg_list => p_init_msg_list,
190 p_commit => p_commit,
191 p_validation_level => p_validation_level,
192 p_space_rec => p_x_space_rec,
193 x_return_status => l_return_status,
194 x_msg_count => l_msg_count,
195 x_msg_data => l_msg_data
196 );
197
198 IF G_DEBUG='Y' THEN
199 AHL_DEBUG_PUB.debug( 'before delete 20');
200 END IF;
201
202 ELSIF p_x_space_capbl_tbl.COUNT > 0 THEN
203 FOR i IN p_x_space_capbl_tbl.first..p_x_space_capbl_tbl.LAST
204 LOOP
205 IF p_x_space_capbl_tbl(i).operation_flag = 'D' THEN
206 AHL_APPR_SPACE_CAPB_PVT.DELETE_SPACE_CAPBLTS
207 (
208 p_api_version => l_api_version,
209 p_init_msg_list => p_init_msg_list,
210 p_commit => p_commit,
211 p_validation_level => p_validation_level,
212 p_space_capblts_rec => p_x_space_capbl_tbl(i),
213 x_return_status => l_return_status,
214 x_msg_count => l_msg_count,
215 x_msg_data => l_msg_data
216 );
217 END IF;
218 --Standard check to count messages
219 l_msg_count := Fnd_Msg_Pub.count_msg;
220
221 IF l_msg_count > 0 THEN
222 X_msg_count := l_msg_count;
226
223 X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
224 RAISE Fnd_Api.G_EXC_ERROR;
225 END IF;
227 END LOOP;
231 AHL_DEBUG_PUB.debug( 'before delete capb');
228 END IF;
229
230 IF G_DEBUG='Y' THEN
232 END IF;
233
234 --For delete capab
235 IF p_x_space_capbl_tbl.COUNT > 0 THEN
236 FOR i IN p_x_space_capbl_tbl.first..p_x_space_capbl_tbl.LAST
237 LOOP
238 IF G_DEBUG='Y' THEN
239 AHL_DEBUG_PUB.debug( 'inside pub delete capb'||p_x_space_capbl_tbl(i).operation_flag);
240 END IF;
241
242 IF p_x_space_capbl_tbl(i).operation_flag = 'D' THEN
243 AHL_APPR_SPACE_CAPB_PVT.DELETE_SPACE_CAPBLTS
244 (
245 p_api_version => l_api_version,
246 p_init_msg_list => p_init_msg_list,
247 p_commit => p_commit,
248 p_validation_level => p_validation_level,
252 x_msg_data => l_msg_data
249 p_space_capblts_rec => p_x_space_capbl_tbl(i),
250 x_return_status => l_return_status,
251 x_msg_count => l_msg_count,
253 );
254 END IF;
255 --Standard check to count messages
256 l_msg_count := Fnd_Msg_Pub.count_msg;
257
258 IF l_msg_count > 0 THEN
259 X_msg_count := l_msg_count;
260 X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
261 RAISE Fnd_Api.G_EXC_ERROR;
262 END IF;
263
264 END LOOP;
265 END IF;
266
267
268 ------------------------End of Body---------------------------------------
269 --Standard check to count messages
270 l_msg_count := Fnd_Msg_Pub.count_msg;
271
272 IF l_msg_count > 0 THEN
273 X_msg_count := l_msg_count;
274 X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
275 RAISE Fnd_Api.G_EXC_ERROR;
276 END IF;
277
278 --Standard check for commit
279 IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
280 COMMIT;
284 Ahl_Debug_Pub.debug( 'End of private api Process Space Capbl','+SPCBL+');
281 END IF;
282 -- Debug info
283 IF G_DEBUG='Y' THEN
285 END IF;
286 -- Check if API is called in debug mode. If yes, disable debug.
287 IF G_DEBUG='Y' THEN
288 Ahl_Debug_Pub.disable_debug;
289 END IF;
290
291 EXCEPTION
292 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
293 ROLLBACK TO process_space_capbl;
294 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
295 FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
296 p_count => x_msg_count,
297 p_data => x_msg_data);
298
299 IF G_DEBUG='Y' THEN
300 AHL_DEBUG_PUB.log_app_messages (
301 x_msg_count, x_msg_data, 'ERROR' );
302 AHL_DEBUG_PUB.debug( 'ahl_appr_space_capb_pub.Process Space Capbl','+SPCBL+');
303 END IF;
304 -- Check if API is called in debug mode. If yes, disable debug.
305 AHL_DEBUG_PUB.disable_debug;
306
307 WHEN FND_API.G_EXC_ERROR THEN
311 p_count => x_msg_count,
308 ROLLBACK TO process_space_capbl;
309 X_return_status := FND_API.G_RET_STS_ERROR;
310 FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
312 p_data => X_msg_data);
313 -- Debug info.
314 IF G_DEBUG='Y' THEN
315 AHL_DEBUG_PUB.log_app_messages (
316 x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
317 AHL_DEBUG_PUB.debug( 'ahl_appr_space_capb_pub.Process Space Capbl','+SPCBL+');
318 END IF;
319 -- Check if API is called in debug mode. If yes, disable debug.
320 AHL_DEBUG_PUB.disable_debug;
321
322 WHEN OTHERS THEN
323 ROLLBACK TO process_space_capbl;
324 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
325 IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
326 THEN
327 fnd_msg_pub.add_exc_msg(p_pkg_name => 'AHL_APPR_SPACE_CAPB_PUB',
328 p_procedure_name => 'PROCESS_SPACE_CAPBL',
329 p_error_text => SUBSTR(SQLERRM,1,240));
330 END IF;
331 FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
332 p_count => x_msg_count,
333 p_data => X_msg_data);
334
335 -- Debug info.
336 IF G_DEBUG='Y' THEN
337 AHL_DEBUG_PUB.log_app_messages (
338 x_msg_count, x_msg_data, 'SQL ERROR' );
339 AHL_DEBUG_PUB.debug( 'ahl_appr_space_unavl_pub.Process Space Capbl','+SPCBL+');
340 END IF;
341 -- Check if API is called in debug mode. If yes, disable debug.
342 AHL_DEBUG_PUB.disable_debug;
343
344 END Process_Space_capbl;
345
346 END AHL_APPR_SPACE_CAPB_PUB;