DBA Data[Home] [Help]

PACKAGE BODY: APPS.AHL_LTP_SPACE_UNAVL_PUB

Source


1 PACKAGE BODY AHL_LTP_SPACE_UNAVL_PUB AS
2 /* $Header: AHLPSUAB.pls 115.4 2002/12/04 19:34:31 ssurapan noship $ */
3 
4 G_PKG_NAME  VARCHAR2(30)  := 'AHL_LTP_SPACE_UNAVL_PUB';
5 G_DEBUG     VARCHAR2(1)   := FND_PROFILE.VALUE('AHL_API_FILE_DEBUG_ON');
6 --
7 -----------------------------------------------------------
8 -- PACKAGE
9 --    AHL_LTP_SPACE_UNAVL_PUB
10 --
11 -- PURPOSE
12 --    This package is a Public API for managing Space Unavailable 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_Restriction
28 --
29 -- PURPOSE
30 --    Process Space Restrictions
31 --
32 -- PARAMETERS
33 --    p_x_space_restriction_tbl: the table representing space_restriction_tbl
34 --
35 -- NOTES
36 --------------------------------------------------------------------
37 
38 PROCEDURE Process_Space_Restriction (
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_restriction_tbl IN OUT NOCOPY Space_Restriction_Tbl,
45    x_return_status              OUT NOCOPY VARCHAR2,
46    x_msg_count                  OUT NOCOPY NUMBER,
47    x_msg_data                   OUT NOCOPY VARCHAR2
48  )
49 IS
50  l_api_name        CONSTANT VARCHAR2(30) := 'PROCESS_SPACE_RESTRICTION';
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 process_space_restriction;
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_unavl_pub.Process Space Restriction','+SUAVL+');
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_restriction_tbl.COUNT > 0
84    THEN
85      FOR i IN p_x_space_restriction_tbl.FIRST..p_x_space_restriction_tbl.LAST
86      LOOP
87        IF p_x_space_restriction_tbl(i).operation_flag = 'C' THEN
88          AHL_LTP_SPACE_UNAVL_PVT.CREATE_SPACE_RESTRICTION
89            (
90             p_api_version             => l_api_version,
91             p_init_msg_list           => p_init_msg_list,
92             p_commit                  => p_commit,
93             p_validation_level        => p_validation_level,
94             p_module_type             => p_module_type,
95             p_x_space_restriction_rec   => p_x_space_restriction_tbl(i),
96             x_return_status           => l_return_status,
97             x_msg_count               => l_msg_count,
98             x_msg_data                => l_msg_data
99           );
100           ELSIF p_x_space_restriction_tbl(i).operation_flag = 'U' THEN
101 
102          AHL_LTP_SPACE_UNAVL_PVT.UPDATE_SPACE_RESTRICTION
103            (
104             p_api_version             => l_api_version,
105             p_init_msg_list           => p_init_msg_list,
106             p_commit                  => p_commit,
107             p_validation_level        => p_validation_level,
108             p_module_type             => p_module_type,
109             p_space_restriction_rec   => p_x_space_restriction_tbl(i),
110             x_return_status           => l_return_status,
111             x_msg_count               => l_msg_count,
112             x_msg_data                => l_msg_data
113           );
114        ELSIF p_x_space_restriction_tbl(i).operation_flag = 'D' THEN
115          AHL_LTP_SPACE_UNAVL_PVT.DELETE_SPACE_RESTRICTION
116            (
117             p_api_version             => l_api_version,
118             p_init_msg_list           => p_init_msg_list,
119             p_commit                  => p_commit,
120             p_validation_level        => p_validation_level,
121             p_space_restriction_rec   => p_x_space_restriction_tbl(i),
122             x_return_status           => l_return_status,
123             x_msg_count               => l_msg_count,
124             x_msg_data                => l_msg_data
125           );
126          END IF;
127       END LOOP;
128    END IF;
129 
130    ------------------------End of Body---------------------------------------
131   --Standard check to count messages
132    l_msg_count := Fnd_Msg_Pub.count_msg;
133 
134    IF l_msg_count > 0 THEN
135       X_msg_count := l_msg_count;
136       X_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
137       RAISE Fnd_Api.G_EXC_ERROR;
138    END IF;
139 
140    --Standard check for commit
141    IF Fnd_Api.TO_BOOLEAN(p_commit) THEN
142       COMMIT;
143    END IF;
144    -- Debug info
145    IF G_DEBUG='Y' THEN
146    Ahl_Debug_Pub.debug( 'End of private api Process Space Restriction','+SUAVL+');
147    -- Check if API is called in debug mode. If yes, disable debug.
148    Ahl_Debug_Pub.disable_debug;
149    END IF;
150 
151   EXCEPTION
152  WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
153     ROLLBACK TO process_space_restriction;
154     X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
155     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
156                                p_count => x_msg_count,
157                                p_data  => x_msg_data);
158 
159    IF G_DEBUG='Y' THEN
160             AHL_DEBUG_PUB.log_app_messages (
161                 x_msg_count, x_msg_data, 'ERROR' );
162             AHL_DEBUG_PUB.debug( 'ahl_ltp_space_unavl_pub.Process Space Restriction','+SUAVL+');
163         END IF;
164         -- Check if API is called in debug mode. If yes, disable debug.
165         AHL_DEBUG_PUB.disable_debug;
166 
167 WHEN FND_API.G_EXC_ERROR THEN
168     ROLLBACK TO process_space_restriction;
169     X_return_status := FND_API.G_RET_STS_ERROR;
170     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
171                                p_count => x_msg_count,
172                                p_data  => X_msg_data);
173         -- Debug info.
174    IF G_DEBUG='Y' THEN
175             AHL_DEBUG_PUB.log_app_messages (
176                 x_msg_count, x_msg_data, 'UNEXPECTED ERROR' );
177             AHL_DEBUG_PUB.debug( 'ahl_ltp_space_unavl_pub.Process Space Restriction','+SUAVL+');
178         END IF;
179         -- Check if API is called in debug mode. If yes, disable debug.
180         AHL_DEBUG_PUB.disable_debug;
181 
182 WHEN OTHERS THEN
183     ROLLBACK TO process_space_restriction;
184     X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
185     IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
186     THEN
187     fnd_msg_pub.add_exc_msg(p_pkg_name        =>  'AHL_LTP_SPACE_UNAVL_PUB',
188                             p_procedure_name  =>  'PROCESS_SPACE_RESTRICTION',
189                             p_error_text      => SUBSTR(SQLERRM,1,240));
190     END IF;
191     FND_MSG_PUB.count_and_get( p_encoded => FND_API.G_FALSE,
192                                p_count => x_msg_count,
193                                p_data  => X_msg_data);
194 
195         -- Debug info.
196    IF G_DEBUG='Y' THEN
197             AHL_DEBUG_PUB.log_app_messages (
198                 x_msg_count, x_msg_data, 'SQL ERROR' );
199             AHL_DEBUG_PUB.debug( 'ahl_ltp_space_unavl_pub.Process Space Restriction','+SUAVL+');
200         END IF;
201         -- Check if API is called in debug mode. If yes, disable debug.
202         AHL_DEBUG_PUB.disable_debug;
203 
204 END Process_Space_Restriction;
205 
206 END AHL_LTP_SPACE_UNAVL_PUB;