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