DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_CONTRACT_BOOK_PUB

Source


1 Package body okl_contract_book_PUB as
2 /* $Header: OKLPBKGB.pls 120.4 2007/05/11 22:42:55 asahoo ship $ */
3 
4 -------------------------------------------------------------------------------------------------
5 -- GLOBAL MESSAGE CONSTANTS
6 -------------------------------------------------------------------------------------------------
7   G_NO_PARENT_RECORD    CONSTANT  VARCHAR2(200) := 'OKL_NO_PARENT_RECORD';
8   G_FND_APP		        CONSTANT  VARCHAR2(200) := OKL_API.G_FND_APP;
9   G_REQUIRED_VALUE	    CONSTANT  VARCHAR2(200) := OKL_API.G_REQUIRED_VALUE;
10   G_INVALID_VALUE		CONSTANT  VARCHAR2(200) := OKL_API.G_INVALID_VALUE;
11   G_UNEXPECTED_ERROR    CONSTANT  VARCHAR2(200) := 'OKL_CONTRACTS_UNEXP_ERROR';
12   G_SQLERRM_TOKEN       CONSTANT  VARCHAR2(200) := 'SQLerrm';
13   G_SQLCODE_TOKEN       CONSTANT  VARCHAR2(200) := 'SQLcode';
14   G_UPPERCASE_REQUIRED	CONSTANT  VARCHAR2(200) := 'OKL_CONTRACTS_UPPERCASE_REQ';
15   G_COL_NAME_TOKEN      CONSTANT  VARCHAR2(200) := OKL_API.G_COL_NAME_TOKEN;
16 ------------------------------------------------------------------------------------
17 -- GLOBAL EXCEPTION
18 ------------------------------------------------------------------------------------
19   G_EXCEPTION_HALT_VALIDATION             EXCEPTION;
20   G_EXCEPTION_STOP_VALIDATION             EXCEPTION;
21   G_API_TYPE                CONSTANT  VARCHAR2(4) := '_PUB';
22   G_API_VERSION             CONSTANT  NUMBER      := 1.0;
23   G_SCOPE                   CONSTANT  VARCHAR2(4) := '_PUB';
24 
25  -- GLOBAL VARIABLES
26 -----------------------------------------------------------------------------------
27 
28   Procedure execute_qa_check_list(
29     p_api_version                  IN  NUMBER,
30     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
31     x_return_status                OUT NOCOPY VARCHAR2,
32     x_msg_count                    OUT NOCOPY NUMBER,
33     x_msg_data                     OUT NOCOPY VARCHAR2,
34     p_qcl_id                       IN  NUMBER,
35     p_chr_id                       IN  NUMBER,
36     x_msg_tbl                      OUT NOCOPY OKL_QA_CHECK_PUB.msg_tbl_type) IS
37 
38     l_api_name		CONSTANT VARCHAR2(30) := 'EXECUTE_QA_CHECK_LIST';
39     l_api_version	CONSTANT NUMBER	      := 1;
40     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
41 
42     l_qcl_id NUMBER := p_qcl_id;
43     l_chr_id NUMBER := p_chr_id;
44 
45   BEGIN
46 
47 
48 
49 
50     OKL_CONTRACT_BOOK_PVT.execute_qa_check_list(
51                              p_api_version    => p_api_version,
52                              p_init_msg_list  => p_init_msg_list,
53                              x_return_status  => x_return_status,
54                              x_msg_count      => x_msg_count,
55                              x_msg_data       => x_msg_data,
56                              p_qcl_id         => p_qcl_id,
57                              p_chr_id         => p_chr_id,
58                              x_msg_tbl        => x_msg_tbl);
59 
60 
61     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
62        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
63     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
64        RAISE OKL_API.G_EXCEPTION_ERROR;
65     END IF;
66 
67 
68 
69   END execute_qa_check_list;
70 
71   Procedure generate_journal_entries(
72                       p_api_version      IN  NUMBER,
73                       p_init_msg_list    IN  VARCHAR2 DEFAULT Okl_Api.G_FALSE,
74                       p_commit           IN  VARCHAR2 DEFAULT Okl_Api.G_FALSE,
75                       p_contract_id      IN  NUMBER,
76                       p_transaction_type IN  VARCHAR2,
77                       p_draft_yn         IN  VARCHAR2 DEFAULT OKC_Api.G_TRUE,
78                       x_return_status    OUT NOCOPY VARCHAR2,
79                       x_msg_count        OUT NOCOPY NUMBER,
80                       x_msg_data         OUT NOCOPY VARCHAR2)  IS
81 
82     l_api_name		CONSTANT VARCHAR2(30) := 'GENERATE_JNL_ENTRIES';
83     l_api_version	CONSTANT NUMBER	      := 1;
84     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
85 
86     l_commit VARCHAR(1) := p_commit;
87     l_contract_id NUMBER := p_contract_id;
88     l_transaction_type VARCHAR2(256) := p_transaction_type;
89     l_draft_yn VARCHAR2(1) := p_draft_yn;
90     l_memo_yn VARCHAR2(1) := OKL_API.G_TRUE;
91 
92   BEGIN
93 
94 
95 
96     OKL_CONTRACT_BOOK_PVT.generate_journal_entries(
97                       p_api_version,
98                       p_init_msg_list,
99                       p_commit,
100                       p_contract_id,
101                       p_transaction_type,
102                       p_draft_yn,
103                       x_return_status,
104                       x_msg_count,
105                       x_msg_data);
106 
107     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
108        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
109     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
110        RAISE OKL_API.G_EXCEPTION_ERROR;
111     END IF;
112 
113 
114 
115   END generate_journal_entries;
116 
117   Procedure generate_streams(
118             p_api_version        IN  NUMBER,
119             p_init_msg_list      IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
120             p_chr_id             IN  VARCHAR2,
121             p_generation_context IN  VARCHAR2,
122             x_return_status      OUT NOCOPY VARCHAR2,
123             x_msg_count          OUT NOCOPY NUMBER,
124             x_msg_data           OUT NOCOPY VARCHAR2)  IS
125 
126     l_api_name		CONSTANT VARCHAR2(30) := 'MAP_AND_GEN_STREAMS';
127     l_api_version	CONSTANT NUMBER	      := 1;
128     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
129 
130     l_chr_id VARCHAR2(256) := p_chr_id;
131     l_generation_context VARCHAR2(256) := p_generation_context;
132     l_skip_prc_engine VARCHAR2(1) := OKL_API.G_TRUE;
133     x_trx_number      NUMBER;
134     x_trx_status      VARCHAR2(30);
135 
136   BEGIN
137 
138     OKL_CONTRACT_BOOK_PVT.generate_streams(
139                      p_api_version        => p_api_version,
140                      p_init_msg_list      => p_init_msg_list,
141                      p_chr_id             => p_chr_id,
142                      p_generation_context => p_generation_context,
143                      x_return_status      => x_return_status,
144                      x_msg_count          => x_msg_count,
145                      x_msg_data           => x_msg_data,
146                      x_trx_number         => x_trx_number,
147                      x_trx_status         => x_trx_status);
148 
149     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
150        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
151     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
152        RAISE OKL_API.G_EXCEPTION_ERROR;
153     END IF;
154 
155   END generate_streams;
156 
157   Procedure submit_for_approval(
158             p_api_version     IN  NUMBER,
159             p_init_msg_list   IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
160             x_return_status   OUT NOCOPY VARCHAR2,
161             x_msg_count       OUT NOCOPY NUMBER,
162             x_msg_data        OUT NOCOPY VARCHAR2,
163             p_chr_id          IN  VARCHAR2)  IS
164 
165     l_api_name		CONSTANT VARCHAR2(30) := 'SUBMIT_FOR_APPROVAL';
166     l_api_version	CONSTANT NUMBER	      := 1;
167     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
168     l_chr_id VARCHAR2(256) := p_chr_id;
169 
170   BEGIN
171 
172 
173 
174 
175         OKL_CONTRACT_BOOK_PVT.submit_for_approval(
176                                           p_api_version,
177                                           p_init_msg_list,
178                                           x_return_status,
179                                           x_msg_count,
180                                           x_msg_data,
181                                           p_chr_id);
182 
183     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
184        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
185     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
186        RAISE OKL_API.G_EXCEPTION_ERROR;
187     END IF;
188 
189 
190 
191 
192   END submit_for_approval;
193 
194   Procedure activate_contract(
195             p_api_version     IN  NUMBER,
196             p_init_msg_list   IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
197             x_return_status   OUT NOCOPY VARCHAR2,
198             x_msg_count       OUT NOCOPY NUMBER,
199             x_msg_data        OUT NOCOPY VARCHAR2,
200             p_chr_id          IN  VARCHAR2)  IS
201 
202     l_api_name		CONSTANT VARCHAR2(30) := 'ACTIVATE_CONTRACT';
203     l_api_version	CONSTANT NUMBER	      := 1;
204     l_return_status	VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
205 
206     l_chr_id VARCHAR2(256) := p_chr_id;
207   BEGIN
208 
209 
210 
211 
212 
213         OKL_CONTRACT_BOOK_PVT.activate_contract(
214                                           p_api_version,
215                                           p_init_msg_list,
216                                           x_return_status,
217                                           x_msg_count,
218                                           x_msg_data,
219                                           p_chr_id);
220 
221     IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
222        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
223     ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
224        RAISE OKL_API.G_EXCEPTION_ERROR;
225     END IF;
226 
227 
228 
229   END activate_contract;
230 
231  ----------------------------------------------------------------
232  --Bug# 3556674 : validate contract api to be called as an api to
233  --               run qa check list
234  -----------------------------------------------------------------
235  Procedure validate_contract(
236     p_api_version                  IN  NUMBER,
237     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
238     x_return_status                OUT NOCOPY VARCHAR2,
239     x_msg_count                    OUT NOCOPY NUMBER,
240     x_msg_data                     OUT NOCOPY VARCHAR2,
241     p_qcl_id                       IN  NUMBER,
242     p_chr_id                       IN  NUMBER,
243     x_msg_tbl                      OUT NOCOPY OKL_QA_CHECK_PUB.msg_tbl_type) IS
244 
245   l_api_name          CONSTANT VARCHAR2(30) := 'VALIDATE_CONTRACT';
246   l_api_version       CONSTANT NUMBER       := 1;
247   l_return_status     VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
248 
249   Begin
250     x_return_status := OKL_API.G_RET_STS_SUCCESS;
251     x_return_status := OKL_API.START_ACTIVITY(
252                         p_api_name      => l_api_name,
253                         p_pkg_name      => g_pkg_name,
254                         p_init_msg_list => p_init_msg_list,
255                         l_api_version   => l_api_version,
256                         p_api_version   => p_api_version,
257                         p_api_type      => G_API_TYPE,
258                         x_return_status => x_return_status);
259 
260     -- check if activity started successfully
261     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
262        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
263     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
264        raise OKL_API.G_EXCEPTION_ERROR;
265     End If;
266 
267     OKL_CONTRACT_BOOK_PVT.validate_contract(
268         p_api_version     => p_api_version,
269         p_init_msg_list   => p_init_msg_list,
270         x_return_status   => x_return_status,
271         x_msg_count       => x_msg_count,
272         x_msg_data        => x_msg_data,
273         p_chr_id          => p_chr_id,
274         p_qcl_id          => p_qcl_id,
275         x_msg_tbl         => x_msg_tbl);
276 
277     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
278        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
279     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
280        RAISE OKL_API.G_EXCEPTION_ERROR;
281     END IF;
282 
283     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data  => x_msg_data);
284     Exception
285         when OKL_API.G_EXCEPTION_ERROR then
286                 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
287                         p_api_name  => l_api_name,
288                         p_pkg_name  => g_pkg_name,
289                         p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
290                         x_msg_count => x_msg_count,
291                         x_msg_data  => x_msg_data,
292                         p_api_type  => g_api_type);
293 
294         when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
295                 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
296                         p_api_name  => l_api_name,
297                         p_pkg_name  => g_pkg_name,
298                         p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
299                         x_msg_count => x_msg_count,
300                         x_msg_data  => x_msg_data,
301                         p_api_type  => g_api_type);
302 
303         when OTHERS then
304         x_return_status := OKL_API.HANDLE_EXCEPTIONS(
305                         p_api_name  => l_api_name,
306                         p_pkg_name  => g_pkg_name,
307                         p_exc_name  => 'OTHERS',
308                         x_msg_count => x_msg_count,
309                         x_msg_data  => x_msg_data,
310                         p_api_type  => g_api_type);
311 
312   End validate_contract;
313 
314  ----------------------------------------------------------------
315  --Bug# 3556674 : generate_draft_accounting to be called  as an api to
316  --               generate draft 'Booking' accounting entries
317  -----------------------------------------------------------------
318  Procedure generate_draft_accounting(
319     p_api_version                  IN  NUMBER,
320     p_init_msg_list                IN  VARCHAR2 DEFAULT OKC_API.G_FALSE,
321     x_return_status                OUT NOCOPY VARCHAR2,
322     x_msg_count                    OUT NOCOPY NUMBER,
323     x_msg_data                     OUT NOCOPY VARCHAR2,
324     p_chr_id                       IN  NUMBER) IS
325 
326   l_api_name          CONSTANT VARCHAR2(30) := 'GENERATE_DRAFT_ACCT';
327   l_api_version       CONSTANT NUMBER       := 1;
328   l_return_status     VARCHAR2(1)           := OKL_API.G_RET_STS_SUCCESS;
329   Begin
330 
331     x_return_status := OKL_API.G_RET_STS_SUCCESS;
332     x_return_status := OKL_API.START_ACTIVITY(
333                         p_api_name      => l_api_name,
334                         p_pkg_name      => g_pkg_name,
335                         p_init_msg_list => p_init_msg_list,
336                         l_api_version   => l_api_version,
337                         p_api_version   => p_api_version,
338                         p_api_type      => G_API_TYPE,
339                         x_return_status => x_return_status);
340 
341     -- check if activity started successfully
342     If (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) then
343        raise OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
344     ElSIF (x_return_status = OKL_API.G_RET_STS_ERROR) then
345        raise OKL_API.G_EXCEPTION_ERROR;
346     End If;
347 
348     OKL_CONTRACT_BOOK_PVT.generate_draft_accounting(
349         p_api_version     => p_api_version,
350         p_init_msg_list   => p_init_msg_list,
351         x_return_status   => x_return_status,
352         x_msg_count       => x_msg_count,
353         x_msg_data        => x_msg_data,
354         p_chr_id          => p_chr_id);
355 
356     IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
357        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
358     ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
359        RAISE OKL_API.G_EXCEPTION_ERROR;
360     END IF;
361 
362     OKL_API.END_ACTIVITY(x_msg_count => x_msg_count, x_msg_data  => x_msg_data);
363 
364     Exception
365         when OKL_API.G_EXCEPTION_ERROR then
366                 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
367                         p_api_name  => l_api_name,
368                         p_pkg_name  => g_pkg_name,
369                         p_exc_name  => 'OKL_API.G_RET_STS_ERROR',
370                         x_msg_count => x_msg_count,
371                         x_msg_data  => x_msg_data,
372                         p_api_type  => g_api_type);
373 
374         when OKL_API.G_EXCEPTION_UNEXPECTED_ERROR then
375                 x_return_status := OKL_API.HANDLE_EXCEPTIONS(
376                         p_api_name  => l_api_name,
377                         p_pkg_name  => g_pkg_name,
378                         p_exc_name  => 'OKL_API.G_RET_STS_UNEXP_ERROR',
379                         x_msg_count => x_msg_count,
380                         x_msg_data  => x_msg_data,
381                         p_api_type  => g_api_type);
382 
383         when OTHERS then
384         x_return_status := OKL_API.HANDLE_EXCEPTIONS(
385                         p_api_name  => l_api_name,
386                         p_pkg_name  => g_pkg_name,
387                         p_exc_name  => 'OTHERS',
388                         x_msg_count => x_msg_count,
389                         x_msg_data  => x_msg_data,
390                         p_api_type  => g_api_type);
391 
392   End generate_draft_Accounting;
393 End okl_contract_book_PUB;