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