[Home] [Help]
PACKAGE BODY: APPS.OKL_VERSION_PUB
Source
1 package body OKL_VERSION_PUB as
2 /* $Header: OKLPVERB.pls 115.6 2002/12/02 04:57:21 arajagop noship $ */
3
4 G_API_TYPE CONSTANT VARCHAR2(4) := '_PUB';
5 G_API_VERSION CONSTANT NUMBER := 1.0;
6 G_SCOPE CONSTANT VARCHAR2(4) := '_PUB';
7 G_PKG_NAME CONSTANT VARCHAR2(200) := 'OKL_VERSION_PUB';
8 G_APP_NAME CONSTANT VARCHAR2(3) := OKL_API.G_APP_NAME;
9
10 -----------------------------------------------------------------------------------------------
11 ------------------------------ Main Process for Version Contract-------------------------------
12 -----------------------------------------------------------------------------------------------
13 PROCEDURE version_contract(
14 p_api_version IN NUMBER,
15 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
16 x_return_status OUT NOCOPY VARCHAR2,
17 x_msg_count OUT NOCOPY NUMBER,
18 x_msg_data OUT NOCOPY VARCHAR2,
19 p_cvmv_rec IN cvmv_rec_type,
20 x_cvmv_rec OUT NOCOPY cvmv_rec_type,
21 p_commit IN VARCHAR2 DEFAULT OKL_API.G_FALSE) IS
22 l_api_name CONSTANT VARCHAR2(30) := 'VERSION_CONTRACT';
23 l_api_version CONSTANT NUMBER := 1;
24 BEGIN
25 savepoint version_contract_pub;
26 x_return_status := FND_API.G_RET_STS_SUCCESS;
27 -- Standard call to check for call compatibility.
28 IF NOT (FND_API.Compatible_API_Call (l_api_version,
29 p_api_version,
30 l_api_name,
31 G_PKG_NAME)) THEN
32 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
33 END IF;
34 -- Initialize message list if p_init_msg_list is set to TRUE.
35 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
36 FND_MSG_PUB.initialize;
37 END IF;
38 -- Customer pre processing section
39 -- Verticle industry pre- processing section
40 -- Business API call section
41 OKL_VERSION_PVT.version_contract(p_api_version => p_api_version,
42 p_init_msg_list => p_init_msg_list,
43 x_return_status => x_return_status,
44 x_msg_count => x_msg_count,
45 x_msg_data => x_msg_data,
46 p_cvmv_rec => p_cvmv_rec,
47 x_cvmv_rec => x_cvmv_rec,
48 p_commit => p_commit);
49 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
50 RAISE FND_API.G_EXC_ERROR;
51 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
52 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
53 END IF;
54 -- Verticle industry post- processing section
55 -- Customer post processing section
56 EXCEPTION
57 When FND_API.G_EXC_ERROR then
58 ROLLBACK TO version_contract_pub;
59 x_return_status := FND_API.G_RET_STS_ERROR;
60 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
61 p_data => x_msg_data);
62 When FND_API.G_EXC_UNEXPECTED_ERROR then
63 ROLLBACK TO version_contract_pub;
64 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
65 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
66 p_data => x_msg_data);
67 When OTHERS then
68 ROLLBACK TO version_contract_pub;
69 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
70 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
71 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
72 p_count => x_msg_count,
73 p_data => x_msg_data);
74
75 END version_contract;
76 -----------------------------------------------------------------------------------------------
77 ------------------------------ Main Process for Version Contract-------------------------------
78 -----------------------------------------------------------------------------------------------
79 -- Start of comments
80 --
81 -- Procedure Name : version_contract
82 -- Description : creates new version of a contract
83 -- Business Rules :
84 -- Parameters :
85 -- Version : 1.0
86 -- End of comments
87 PROCEDURE version_contract(p_api_version IN NUMBER,
88 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
89 x_return_status OUT NOCOPY VARCHAR2,
90 x_msg_count OUT NOCOPY NUMBER,
91 x_msg_data OUT NOCOPY VARCHAR2,
92 p_cvmv_tbl IN cvmv_tbl_type,
93 p_commit IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
94 x_cvmv_tbl OUT NOCOPY cvmv_tbl_type) IS
95 i NUMBER := 0;
96 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
97 BEGIN
98 x_return_status := FND_API.G_RET_STS_SUCCESS;
99 IF p_cvmv_tbl.COUNT > 0 THEN
100 i := p_cvmv_tbl.FIRST;
101 LOOP
102 version_contract(p_api_version => p_api_version,
103 p_init_msg_list => p_init_msg_list,
104 x_return_status => l_return_status,
105 x_msg_count => x_msg_count,
106 x_msg_data => x_msg_data,
107 p_cvmv_rec => p_cvmv_tbl(i),
108 p_commit => p_commit,
109 x_cvmv_rec => x_cvmv_tbl(i));
110 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
111 IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
112 x_return_status := l_return_status;
113 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
114 ELSIF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
115 x_return_status := l_return_status;
116 RAISE FND_API.G_EXC_ERROR;
117 ELSE
118 x_return_status := l_return_status;
119 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
120 END IF;
121 END IF;
122 EXIT WHEN (i = p_cvmv_tbl.LAST);
123 i := p_cvmv_tbl.NEXT(i);
124 END LOOP;
125 END IF;
126 EXCEPTION
127 WHEN FND_API.G_EXC_ERROR THEN
128 ROLLBACK TO version_contract_pub;
129 x_return_status := FND_API.G_RET_STS_ERROR;
130 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
131 p_data => x_msg_data);
132 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
133 ROLLBACK TO version_contract_pub;
134 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
135 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
136 p_data => x_msg_data);
137 WHEN OTHERS then
138 ROLLBACK TO version_contract_pub;
139 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
140 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME, 'version_contract_pub');
141 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
142 p_count => x_msg_count,
143 p_data => x_msg_data);
144 END Version_Contract;
145 -----------------------------------------------------------------------------------------------
146 ------------------------------ Main Process for Save Version ----------------------------------
147 -----------------------------------------------------------------------------------------------
148 PROCEDURE save_version(
149 p_api_version IN NUMBER,
150 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
151 x_return_status OUT NOCOPY VARCHAR2,
152 x_msg_count OUT NOCOPY NUMBER,
153 x_msg_data OUT NOCOPY VARCHAR2,
154 p_chr_id IN NUMBER,
155 p_commit IN VARCHAR2 DEFAULT OKL_API.G_FALSE) IS
156 l_api_name CONSTANT VARCHAR2(30) := 'SAVE_VERSION';
157 l_api_version CONSTANT NUMBER := 1;
158 BEGIN
159 savepoint save_version_pub;
160 x_return_status := FND_API.G_RET_STS_SUCCESS;
161 -- Standard call to check for call compatibility.
162 IF NOT (FND_API.Compatible_API_Call (l_api_version,
163 p_api_version,
164 l_api_name,
165 G_PKG_NAME)) THEN
166 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
167 END IF;
168 -- Initialize message list if p_init_msg_list is set to TRUE.
169 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
170 FND_MSG_PUB.initialize;
171 END IF;
172 -- Customer pre processing section
173 -- Verticle industry pre- processing section
174 -- Business API call section
175 OKL_VERSION_PVT.save_version(p_api_version => p_api_version,
176 p_init_msg_list => p_init_msg_list,
177 x_return_status => x_return_status,
178 x_msg_count => x_msg_count,
179 x_msg_data => x_msg_data,
180 p_chr_id => p_chr_id,
181 p_commit => p_commit);
182 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
183 RAISE FND_API.G_EXC_ERROR;
184 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
185 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
186 END IF;
187 -- Verticle industry post- processing section
188 -- Customer post processing section
189 EXCEPTION
190 When FND_API.G_EXC_ERROR then
191 ROLLBACK TO save_version_pub;
192 x_return_status := FND_API.G_RET_STS_ERROR;
193 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
194 p_data => x_msg_data);
195 When FND_API.G_EXC_UNEXPECTED_ERROR then
196 ROLLBACK TO save_version_pub;
197 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
198 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
199 p_data => x_msg_data);
200 When OTHERS then
201 ROLLBACK TO save_version_pub;
202 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
203 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
204 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
205 p_count => x_msg_count,
206 p_data => x_msg_data);
207
208 END save_version;
209
210 -----------------------------------------------------------------------------------------------
211 ------------------------- Main Process for Erase Saved Version --------------------------------
212 -----------------------------------------------------------------------------------------------
213 PROCEDURE erase_saved_version(
214 p_api_version IN NUMBER,
215 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
216 x_return_status OUT NOCOPY VARCHAR2,
217 x_msg_count OUT NOCOPY NUMBER,
218 x_msg_data OUT NOCOPY VARCHAR2,
219 p_chr_id IN NUMBER,
220 p_commit IN VARCHAR2 DEFAULT OKL_API.G_FALSE) IS
221 l_api_name CONSTANT VARCHAR2(30) := 'ERASE_SAVED_VERSION';
222 l_api_version CONSTANT NUMBER := 1;
223 BEGIN
224 savepoint erase_saved_version_pub;
225 x_return_status := FND_API.G_RET_STS_SUCCESS;
226 -- Standard call to check for call compatibility.
227 IF NOT (FND_API.Compatible_API_Call (l_api_version,
228 p_api_version,
229 l_api_name,
230 G_PKG_NAME)) THEN
231 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
232 END IF;
233 -- Initialize message list if p_init_msg_list is set to TRUE.
234 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
235 FND_MSG_PUB.initialize;
236 END IF;
237 -- Customer pre processing section
238 -- Verticle industry pre- processing section
239 -- Business API call section
240 OKL_VERSION_PVT.erase_saved_version(p_api_version => p_api_version,
241 p_init_msg_list => p_init_msg_list,
242 x_return_status => x_return_status,
243 x_msg_count => x_msg_count,
244 x_msg_data => x_msg_data,
245 p_chr_id => p_chr_id,
246 p_commit => p_commit);
247 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
248 RAISE FND_API.G_EXC_ERROR;
249 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
250 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
251 END IF;
252 -- Verticle industry post- processing section
253 -- Customer post processing section
254 EXCEPTION
255 When FND_API.G_EXC_ERROR then
256 ROLLBACK TO erase_saved_version_pub;
257 x_return_status := FND_API.G_RET_STS_ERROR;
258 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
259 p_data => x_msg_data);
260 When FND_API.G_EXC_UNEXPECTED_ERROR then
261 ROLLBACK TO erase_saved_version_pub;
262 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
263 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
264 p_data => x_msg_data);
265 When OTHERS then
266 ROLLBACK TO erase_saved_version_pub;
267 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
268 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
269 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
270 p_count => x_msg_count,
271 p_data => x_msg_data);
272
273 END erase_saved_version;
274
275 -----------------------------------------------------------------------------------------------
276 ---------------------------- Main Process for Restore Version ---------------------------------
277 -----------------------------------------------------------------------------------------------
278 PROCEDURE restore_version(
279 p_api_version IN NUMBER,
280 p_init_msg_list IN VARCHAR2 DEFAULT OKL_API.G_FALSE,
281 x_return_status OUT NOCOPY VARCHAR2,
282 x_msg_count OUT NOCOPY NUMBER,
283 x_msg_data OUT NOCOPY VARCHAR2,
284 p_chr_id IN NUMBER,
285 p_commit IN VARCHAR2 DEFAULT OKL_API.G_FALSE) IS
286 l_api_name CONSTANT VARCHAR2(30) := 'RESTORE_VERSION';
287 l_api_version CONSTANT NUMBER := 1;
288 BEGIN
289 savepoint restore_version_pub;
290 x_return_status := FND_API.G_RET_STS_SUCCESS;
291 -- Standard call to check for call compatibility.
292 IF NOT (FND_API.Compatible_API_Call (l_api_version,
293 p_api_version,
294 l_api_name,
295 G_PKG_NAME)) THEN
296 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
297 END IF;
298 -- Initialize message list if p_init_msg_list is set to TRUE.
299 IF (FND_API.to_Boolean( p_init_msg_list )) THEN
300 FND_MSG_PUB.initialize;
301 END IF;
302 -- Customer pre processing section
303 -- Verticle industry pre- processing section
304 -- Business API call section
305 OKL_VERSION_PVT.restore_version(p_api_version => p_api_version,
306 p_init_msg_list => p_init_msg_list,
307 x_return_status => x_return_status,
308 x_msg_count => x_msg_count,
309 x_msg_data => x_msg_data,
310 p_chr_id => p_chr_id,
311 p_commit => p_commit);
312 IF (x_return_status = FND_API.G_RET_STS_ERROR ) THEN
313 RAISE FND_API.G_EXC_ERROR;
314 ELSIF (x_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
315 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
316 END IF;
317 -- Verticle industry post- processing section
318 -- Customer post processing section
319 EXCEPTION
320 When FND_API.G_EXC_ERROR then
321 ROLLBACK TO restore_version_pub;
322 x_return_status := FND_API.G_RET_STS_ERROR;
323 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
324 p_data => x_msg_data);
325 When FND_API.G_EXC_UNEXPECTED_ERROR then
326 ROLLBACK TO restore_version_pub;
327 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
328 FND_MSG_PUB.count_and_get (p_count => x_msg_count,
329 p_data => x_msg_data);
330 When OTHERS then
331 ROLLBACK TO restore_version_pub;
332 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
333 FND_MSG_PUB.ADD_EXC_MSG( G_PKG_NAME, 'OKL_COPY_ASSET_PUB');
334 FND_MSG_PUB.count_and_get (p_encoded => FND_API.G_FALSE,
335 p_count => x_msg_count,
336 p_data => x_msg_data);
337
338 END restore_version;
339 END OKL_VERSION_PUB;