DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_LTP_SPACE_ASSIGN_PUB

Source


1 PACKAGE BODY AHL_LTP_SPACE_ASSIGN_PUB AS
2 /* $Header: AHLPSANB.pls 115.10 2003/09/09 06:05:33 rroy noship $ */
3 --
4 G_PKG_NAME  VARCHAR2(30)  := 'AHL_LTP_SPACE_ASSIGN_PUB';
5 G_DEBUG     VARCHAR2(1)   := AHL_DEBUG_PUB.is_log_enabled;
6 --
7 -- PACKAGE
8 --    AHL_LTP_SPACE_ASSIGN_PUB
9 --
10 -- PURPOSE
11 --    This package is a Public API for managing Space Assignment information in
12 --    Advanced Services Online.  It contains specification for pl/sql records and tables
13 --
14 --    AHL_SPACE_ASSIGNMENT:
15 --    Process_Space_Assignment (see below for specification)
16 --
17 --
18 -- NOTES
19 --
20 --
21 -- HISTORY
22 -- 17-Apr-2002    ssurapan      Created.
23 --
24 -- PROCEDURE
25 --    Assign_Sch_Visit_Spaces
26 --
27 -- PURPOSE
28 --    Process Assigning Visit To Spaces and schedule a visit
29 --
30 -- PARAMETERS
31 --    p_x_space_assignment_tbl: the table representing space_assignment_tbl
32 --    p_x_schedule_visit_rec    Record representing  visit info
33 --
34 -- NOTES
35 --
36 PROCEDURE Assign_Sch_Visit_Spaces (
37    p_api_version             IN      NUMBER,
38    p_init_msg_list           IN      VARCHAR2  := Fnd_Api.g_false,
39    p_commit                  IN      VARCHAR2  := Fnd_Api.g_false,
40    p_validation_level        IN      NUMBER    := Fnd_Api.g_valid_level_full,
41    p_module_type             IN      VARCHAR2  := 'JSP',
42    p_x_space_assignment_tbl  IN  OUT NOCOPY Space_Assignment_Tbl,
43    p_x_schedule_visit_rec    IN  OUT NOCOPY Schedule_Visit_Rec,
44    x_return_status               OUT NOCOPY VARCHAR2,
45    x_msg_count                   OUT NOCOPY NUMBER,
46    x_msg_data                    OUT NOCOPY VARCHAR2
47   )
48  IS
49  --
50  l_api_name        CONSTANT VARCHAR2(30) := 'ASSIGN_SCH_VISIT_SPACES';
51  l_api_version     CONSTANT NUMBER       := 1.0;
52  l_msg_count                NUMBER;
53  l_return_status            VARCHAR2(1);
54  l_msg_data                 VARCHAR2(2000);
55  --
56 BEGIN
57   --------------------Initialize ----------------------------------
58   -- Standard Start of API savepoint
59   SAVEPOINT Assign_Sch_Visit_Spaces;
60    -- Check if API is called in debug mode. If yes, enable debug.
61    IF G_DEBUG='Y' THEN
62    Ahl_Debug_Pub.enable_debug;
63    END IF;
64    -- Debug info.
65    IF G_DEBUG='Y' THEN
66    Ahl_Debug_Pub.debug( 'enter ahl_ltp_space_assign_pub.Assign Sch Visit Spaces','+SPANT+');
67    END IF;
68    -- Standard call to check for call compatibility.
69    IF Fnd_Api.to_boolean(p_init_msg_list)
70    THEN
71      Fnd_Msg_Pub.initialize;
72    END IF;
73     --  Initialize API return status to success
74     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
75    -- Initialize message list if p_init_msg_list is set to TRUE.
76    IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
77                                       p_api_version,
78                                       l_api_name,G_PKG_NAME)
79    THEN
80        RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
81    END IF;
82    --------------------Start of API Body-----------------------------------
83     IF p_x_space_assignment_tbl.COUNT > 0 THEN
84 	  FOR i IN p_x_space_assignment_tbl.FIRST..p_x_space_assignment_tbl.LAST
85 	  LOOP
86         --
87    IF G_DEBUG='Y' THEN
88    Ahl_Debug_Pub.debug( 'Schedule flag:'||p_x_schedule_visit_rec.schedule_flag);
89    END IF;
90 		--
91 	    IF p_x_space_assignment_tbl(i).operation_flag = 'C' THEN
92          Ahl_Ltp_Space_Assign_Pvt.CREATE_SPACE_ASSIGNMENT
93            (
94             p_api_version             => l_api_version,
95             p_init_msg_list           => p_init_msg_list,
96             p_commit                  => p_commit,
97             p_validation_level        => p_validation_level,
98             p_module_type             => p_module_type,
99             p_x_space_assign_rec      => p_x_space_assignment_tbl(i),
100             p_reschedule_flag         => p_x_schedule_visit_rec.schedule_flag,
101             x_return_status           => l_return_status,
102             x_msg_count               => l_msg_count,
103             x_msg_data                => l_msg_data
104           );
105     	-- To Update space assignment
106         ELSIF p_x_space_assignment_tbl(i).operation_flag = 'U' THEN
107          Ahl_Ltp_Space_Assign_Pvt.UPDATE_SPACE_ASSIGNMENT
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_space_assign_rec        => p_x_space_assignment_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 
120 	    -- To remove space assignment
121 	    ELSIF p_x_space_assignment_tbl(i).operation_flag = 'D' THEN
122          Ahl_Ltp_Space_Assign_Pvt.DELETE_SPACE_ASSIGNMENT
123            (
124             p_api_version             => l_api_version,
125             p_init_msg_list           => p_init_msg_list,
126             p_commit                  => p_commit,
127             p_validation_level        => p_validation_level,
128             p_space_assign_rec        => p_x_space_assignment_tbl(i),
129             x_return_status           => l_return_status,
130             x_msg_count               => l_msg_count,
131             x_msg_data                => l_msg_data
132           );
133         END IF;
134 		--
135 	  END LOOP;
136 	  --
137       --Standard check to count messages
138        l_msg_count := Fnd_Msg_Pub.count_msg;
139 
140       IF l_msg_count > 0 THEN
141          X_msg_count := l_msg_count;
142          X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
143       RAISE Fnd_Api.G_EXC_ERROR;
144       END IF;
145       --
146      END IF;
147      --
148 
149      IF P_X_SCHEDULE_VISIT_REC.VISIT_ID IS NOT NULL THEN
150        Ahl_Ltp_Space_Assign_Pvt.Schedule_Visit
151                        (p_api_version          => l_api_version,
152                         p_init_msg_list        => p_init_msg_list,
153                         p_commit               => p_commit,
154                         p_validation_level     => p_validation_level,
155                         p_module_type          => p_module_type,
156                         p_x_schedule_visit_rec => p_x_schedule_visit_rec,
157                         x_return_status        => l_return_status,
158                         x_msg_count            => l_msg_count,
159                         x_msg_data             => l_msg_data);
160      END IF; -- Visit ID
161    ------------------------End of Body---------------------------------------
162   --Standard check to count messages
163    l_msg_count := Fnd_Msg_Pub.count_msg;
164 
165    IF l_msg_count > 0 THEN
166       X_msg_count := l_msg_count;
167       X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
168       RAISE Fnd_Api.G_EXC_ERROR;
169    END IF;
170 
171    --Standard check for commit
172    IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
173       COMMIT;
174    END IF;
175    -- Debug info
176    IF G_DEBUG='Y' THEN
177    Ahl_Debug_Pub.debug( 'End of Public api Assign Sch Visit Spaces','+SPANT+');
178    END IF;
179    -- Check if API is called in debug mode. If yes, disable debug.
180    IF G_DEBUG='Y' THEN
181    Ahl_Debug_Pub.disable_debug;
182    END IF;
183   EXCEPTION
184  WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
185     ROLLBACK TO Assign_Sch_Visit_Spaces;
186     X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
187     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
188                                p_count => x_msg_count,
189                                p_data  => x_msg_data);
190    IF G_DEBUG='Y' THEN
191 
192        Ahl_Debug_Pub.log_app_messages (
193              x_msg_count, x_msg_data, 'ERROR' );
194        Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Assign Sch Visit Spaces','+SPANT+');
195         -- Check if API is called in debug mode. If yes, disable debug.
196         Ahl_Debug_Pub.disable_debug;
197    END IF;
198 WHEN Fnd_Api.G_EXC_ERROR THEN
199     ROLLBACK TO Assign_Sch_Visit_Spaces;
200     X_return_status := Fnd_Api.G_RET_STS_ERROR;
201     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
202                                p_count => x_msg_count,
203                                p_data  => X_msg_data);
204    IF G_DEBUG='Y' THEN
205         -- Debug info.
206         Ahl_Debug_Pub.log_app_messages (
207              x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
208         Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Assign Sch Visit Spaces','+SPANT+');
209         -- Check if API is called in debug mode. If yes, disable debug.
210         Ahl_Debug_Pub.disable_debug;
211     END IF;
212 WHEN OTHERS THEN
213     ROLLBACK TO Assign_Sch_Visit_Spaces;
214     X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
215     IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
216     THEN
217     Fnd_Msg_Pub.add_exc_msg(p_pkg_name        =>  'AHL_LTP_SPACE_ASSIGN_PUB',
218                             p_procedure_name  =>  'ASSIGN_SCH_VISIT_SPACES',
219                             p_error_text      => SUBSTR(SQLERRM,1,240));
220     END IF;
221     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
222                                p_count => x_msg_count,
223                                p_data  => X_msg_data);
224    IF G_DEBUG='Y' THEN
225 
226         -- Debug info.
227         Ahl_Debug_Pub.log_app_messages (
228               x_msg_count, x_msg_data, 'SQL ERROR' );
229         Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Assign Sch Visit Spaces','+SPANT+');
230         -- Check if API is called in debug mode. If yes, disable debug.
231         Ahl_Debug_Pub.disable_debug;
232     END IF;
233 END Assign_Sch_Visit_Spaces;
234 --
235 -- PROCEDURE
236 --    Schedule_Visit
237 --
238 -- PURPOSE
239 --    Schedule_Visit
240 --
241 -- PARAMETERS
242 --    p_schedule_visit_rec   : Record Representing Schedule_Visit_Rec
243 --
244 -- NOTES
245 --
246 PROCEDURE Schedule_Visit (
247    p_api_version             IN      NUMBER,
248    p_init_msg_list           IN      VARCHAR2  := Fnd_Api.g_false,
249    p_commit                  IN      VARCHAR2  := Fnd_Api.g_false,
250    p_validation_level        IN      NUMBER    := Fnd_Api.g_valid_level_full,
251    p_module_type             IN      VARCHAR2  := 'JSP',
252    p_x_schedule_visit_rec    IN  OUT NOCOPY Schedule_Visit_Rec,
253    x_return_status               OUT NOCOPY VARCHAR2,
254    x_msg_count                   OUT NOCOPY NUMBER,
255    x_msg_data                    OUT NOCOPY VARCHAR2
256 )IS
257  l_api_name        CONSTANT VARCHAR2(30) := 'SCHEDULE_VISIT';
258  l_api_version     CONSTANT NUMBER       := 1.0;
259  l_msg_count                NUMBER;
260  l_return_status            VARCHAR2(1);
261  l_msg_data                 VARCHAR2(2000);
262  --
263 BEGIN
264   --------------------Initialize ----------------------------------
265   -- Standard Start of API savepoint
266   SAVEPOINT schedule_visit;
267    -- Check if API is called in debug mode. If yes, enable debug.
268    IF G_DEBUG='Y' THEN
269    Ahl_Debug_Pub.enable_debug;
270    END IF;
271    -- Debug info.
272    IF G_DEBUG='Y' THEN
273    Ahl_Debug_Pub.debug( 'enter ahl_ltp_space_assign_pub.Schedule Visit','+SPANT+');
274    END IF;
275    -- Standard call to check for call compatibility.
276    IF Fnd_Api.to_boolean(p_init_msg_list)
277    THEN
278      Fnd_Msg_Pub.initialize;
279    END IF;
280     --  Initialize API return status to success
281     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
282    -- Initialize message list if p_init_msg_list is set to TRUE.
283    IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
284                                       p_api_version,
285                                       l_api_name,G_PKG_NAME)
286    THEN
287        RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
288    END IF;
289    --------------------Start of API Body-----------------------------------
290    IF P_X_SCHEDULE_VISIT_REC.VISIT_ID IS NOT NULL THEN
291           Ahl_Ltp_Space_Assign_Pvt.Schedule_Visit
292                        (p_api_version          => l_api_version,
293                         p_init_msg_list        => p_init_msg_list,
294                         p_commit               => p_commit,
295                         p_validation_level     => p_validation_level,
296                         p_module_type          => p_module_type,
297                         p_x_schedule_visit_rec => p_x_schedule_visit_rec,
298                         x_return_status        => l_return_status,
299                         x_msg_count            => l_msg_count,
300                         x_msg_data             => l_msg_data);
301     END IF;
302 
303    ------------------------End of Body---------------------------------------
304   --Standard check to count messages
305    l_msg_count := Fnd_Msg_Pub.count_msg;
306 
307    IF l_msg_count > 0 THEN
308       X_msg_count := l_msg_count;
309       X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
310       RAISE Fnd_Api.G_EXC_ERROR;
311    END IF;
312 
313    --Standard check for commit
314    IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
315       COMMIT;
316    END IF;
317    -- Debug info
318    IF G_DEBUG='Y' THEN
319    Ahl_Debug_Pub.debug( 'End of Public api Schedule Visit','+SPANT+');
320    END IF;
321    -- Check if API is called in debug mode. If yes, disable debug.
322    IF G_DEBUG='Y' THEN
323    Ahl_Debug_Pub.disable_debug;
324    END IF;
325 
326   EXCEPTION
327  WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
328     ROLLBACK TO schedule_visit;
329     X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
330     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
331                                p_count => x_msg_count,
332                                p_data  => x_msg_data);
333    IF G_DEBUG='Y' THEN
334 
335         Ahl_Debug_Pub.log_app_messages (
336             x_msg_count, x_msg_data, 'ERROR' );
337         Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Schedule Visit','+SPANT+');
338         -- Check if API is called in debug mode. If yes, disable debug.
339         Ahl_Debug_Pub.disable_debug;
340     END IF;
341 WHEN Fnd_Api.G_EXC_ERROR THEN
342     ROLLBACK TO schedule_visit;
343     X_return_status := Fnd_Api.G_RET_STS_ERROR;
344     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
345                                p_count => x_msg_count,
346                                p_data  => X_msg_data);
347    IF G_DEBUG='Y' THEN
348         -- Debug info.
349         Ahl_Debug_Pub.log_app_messages (
350              x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
351          Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Schedule Visit','+SPANT+');
352         -- Check if API is called in debug mode. If yes, disable debug.
353         Ahl_Debug_Pub.disable_debug;
354     END IF;
355 WHEN OTHERS THEN
356     ROLLBACK TO schedule_visit;
357     X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
358     IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
359     THEN
360     Fnd_Msg_Pub.add_exc_msg(p_pkg_name        =>  'AHL_DI_SPACE_ASSIGN_PUB',
361                             p_procedure_name  =>  'SCHEDULE_VISIT',
362                             p_error_text      => SUBSTR(SQLERRM,1,240));
363     END IF;
364     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
365                                p_count => x_msg_count,
366                                p_data  => X_msg_data);
367    IF G_DEBUG='Y' THEN
368         -- Debug info.
369         Ahl_Debug_Pub.log_app_messages (
370              x_msg_count, x_msg_data, 'SQL ERROR' );
371         Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Schedule Visit','+SPANT+');
372         -- Check if API is called in debug mode. If yes, disable debug.
373         Ahl_Debug_Pub.disable_debug;
374     END IF;
375 END Schedule_Visit;
376 --
377 -- PROCEDURE
378 --    Unschedule_Visit
379 --
380 -- PURPOSE
381 --    Unschedule_Visit
382 --
383 -- PARAMETERS
384 --    p_schedule_visit_rec   : Record Representing Schedule_Visit_Rec
385 --
386 -- NOTES
387 --
388 PROCEDURE Unschedule_Visit (
389    p_api_version             IN      NUMBER,
390    p_init_msg_list           IN      VARCHAR2  := Fnd_Api.g_false,
391    p_commit                  IN      VARCHAR2  := Fnd_Api.g_false,
392    p_validation_level        IN      NUMBER    := Fnd_Api.g_valid_level_full,
393    p_module_type             IN      VARCHAR2  := 'JSP',
394    p_x_schedule_visit_rec    IN  OUT NOCOPY Schedule_Visit_Rec,
395    x_return_status               OUT NOCOPY VARCHAR2,
396    x_msg_count                   OUT NOCOPY NUMBER,
397    x_msg_data                    OUT NOCOPY VARCHAR2
398 )
399 IS
400 
401  l_api_name        CONSTANT VARCHAR2(30) := 'UNSCHEDULE_VISIT';
402  l_api_version     CONSTANT NUMBER       := 1.0;
403  l_msg_count                NUMBER;
404  l_return_status            VARCHAR2(1);
405  l_msg_data                 VARCHAR2(2000);
406  --
407 BEGIN
408   --------------------Initialize ----------------------------------
409   -- Standard Start of API savepoint
410   SAVEPOINT unschedule_visit;
411    -- Check if API is called in debug mode. If yes, enable debug.
412    IF G_DEBUG='Y' THEN
413    Ahl_Debug_Pub.enable_debug;
414    END IF;
415    -- Debug info.
416    IF G_DEBUG='Y' THEN
417    Ahl_Debug_Pub.debug( 'enter ahl_ltp_space_assign_pub.Unschedule Visit','+SPANT+');
418    END IF;
419    -- Standard call to check for call compatibility.
420    IF Fnd_Api.to_boolean(p_init_msg_list)
421    THEN
422      Fnd_Msg_Pub.initialize;
423    END IF;
424     --  Initialize API return status to success
425     x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
426    -- Initialize message list if p_init_msg_list is set to TRUE.
427    IF NOT Fnd_Api.COMPATIBLE_API_CALL(l_api_version,
428                                       p_api_version,
429                                       l_api_name,G_PKG_NAME)
430    THEN
431        RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
432    END IF;
433    --------------------Start of API Body-----------------------------------
434    IF P_X_SCHEDULE_VISIT_REC.VISIT_ID IS NOT NULL THEN
435           Ahl_Ltp_Space_Assign_Pvt.Unschedule_Visit
436                        (p_api_version          => l_api_version,
437                         p_init_msg_list        => p_init_msg_list,
438                         p_commit               => p_commit,
439                         p_validation_level     => p_validation_level,
440                         p_module_type          => p_module_type,
441                         p_x_schedule_visit_rec => p_x_schedule_visit_rec,
442                         x_return_status        => l_return_status,
443                         x_msg_count            => l_msg_count,
444                         x_msg_data             => l_msg_data);
445     END IF;
446 
447    ------------------------End of Body---------------------------------------
448   --Standard check to count messages
449    l_msg_count := Fnd_Msg_Pub.count_msg;
450 
451    IF l_msg_count > 0 THEN
452       X_msg_count := l_msg_count;
453       X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
454       RAISE Fnd_Api.G_EXC_ERROR;
455    END IF;
456 
457    --Standard check for commit
458    IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
459       COMMIT;
460    END IF;
461    -- Debug info
462    IF G_DEBUG='Y' THEN
463    Ahl_Debug_Pub.debug( 'End of Public api Unschedule Visit','+SPANT+');
464    END IF;
465    -- Check if API is called in debug mode. If yes, disable debug.
466    IF G_DEBUG='Y' THEN
467    Ahl_Debug_Pub.disable_debug;
468    END IF;
469   EXCEPTION
470  WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
471     ROLLBACK TO unschedule_visit;
472     X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
473     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
474                                p_count => x_msg_count,
475                                p_data  => x_msg_data);
476    IF G_DEBUG='Y' THEN
477 
478        Ahl_Debug_Pub.log_app_messages (
479              x_msg_count, x_msg_data, 'ERROR' );
480        Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Unschedule Visit','+SPANT+');
481         -- Check if API is called in debug mode. If yes, disable debug.
482         Ahl_Debug_Pub.disable_debug;
483    END IF;
484 WHEN Fnd_Api.G_EXC_ERROR THEN
485     ROLLBACK TO unschedule_visit;
486     X_return_status := Fnd_Api.G_RET_STS_ERROR;
487     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
488                                p_count => x_msg_count,
489                                p_data  => X_msg_data);
490    IF G_DEBUG='Y' THEN
491         -- Debug info.
492         Ahl_Debug_Pub.log_app_messages (
493              x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
494         Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Unschedule Visit','+SPANT+');
495         -- Check if API is called in debug mode. If yes, disable debug.
496         Ahl_Debug_Pub.disable_debug;
497     END IF;
498 WHEN OTHERS THEN
499     ROLLBACK TO unschedule_visit;
500     X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
501     IF Fnd_Msg_Pub.check_msg_level(Fnd_Msg_Pub.G_MSG_LVL_UNEXP_ERROR)
502     THEN
503     Fnd_Msg_Pub.add_exc_msg(p_pkg_name        =>  'AHL_DI_SPACE_ASSIGN_PUB',
504                             p_procedure_name  =>  'UNSCHEDULE_VISIT',
505                             p_error_text      => SUBSTR(SQLERRM,1,240));
506     END IF;
507     Fnd_Msg_Pub.count_and_get( p_encoded => Fnd_Api.G_FALSE,
508                                p_count => x_msg_count,
509                                p_data  => X_msg_data);
510    IF G_DEBUG='Y' THEN
511 
512         -- Debug info.
513         Ahl_Debug_Pub.log_app_messages (
514               x_msg_count, x_msg_data, 'SQL ERROR' );
515         Ahl_Debug_Pub.debug( 'ahl_ltp_space_assign_pub.Unschedule Visit','+SPANT+');
516         -- Check if API is called in debug mode. If yes, disable debug.
517         Ahl_Debug_Pub.disable_debug;
518     END IF;
519 END Unschedule_Visit;
520 --
521 END AHL_LTP_SPACE_ASSIGN_PUB;