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