DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_ACCOUNTING_UPDATE_PVT

Source


1 PACKAGE BODY OKL_ACCOUNTING_UPDATE_PVT AS
2 /* $Header: OKLRAEUB.pls 115.3 2002/12/18 12:45:56 kjinger noship $ */
3 
4 
5 PROCEDURE  UPDATE_ACCT_ENTRIES(p_api_version        IN      NUMBER,
6                                p_init_msg_list      IN      VARCHAR2,
7                                x_return_status      OUT     NOCOPY VARCHAR2,
8                                x_msg_count          OUT     NOCOPY NUMBER,
9                                x_msg_data           OUT     NOCOPY VARCHAR2,
10                                p_aelv_rec           IN      AELV_REC_TYPE,
11                                x_aelv_rec           OUT NOCOPY     AELV_REC_TYPE)
12 
13 IS
14 
15   l_result               VARCHAR2(1) := OKL_API.G_FALSE;
16   l_ae_header_id         NUMBER;
17   l_accounting_event_id  NUMBER;
18   l_return_status        VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS ;
19 
20   CURSOR aelv_csr(v_line_id NUMBER) IS
21   SELECT ae_header_id
22   FROM OKL_AE_LINES
23   WHERE ae_line_id = v_line_id;
24 
25   CURSOR aehv_csr(v_hdr_id NUMBER) IS
26   SELECT accounting_event_id
27   FROM OKL_AE_HEADERS
28   WHERE ae_header_id = v_hdr_id;
29 
30   l_aelv_rec       AELV_REC_TYPE ;
31   l_aehv_rec_in    OKL_ACCT_EVENT_PUB.AEHV_REC_TYPE;
32   l_aehv_rec_out   OKL_ACCT_EVENT_PUB.AEHV_REC_TYPE;
33   l_aetv_rec_in    OKL_ACCT_EVENT_PUB.AETV_REC_TYPE;
34   l_aetv_rec_out   OKL_ACCT_EVENT_PUB.AETV_REC_TYPE;
35 
36 
37 BEGIN
38 
39     l_aelv_rec := p_aelv_rec;
40     l_result := OKL_ACCOUNTING_UTIL.validate_gl_ccid(l_aelv_rec.code_combination_id);
41 
42     IF (l_result = OKL_API.G_TRUE) THEN
43 
44         l_aelv_rec.accounting_error_code := NULL;
45 
46         OKL_ACCT_EVENT_PUB.UPDATE_ACCT_LINES(p_api_version       => p_api_version,
47                                              p_init_msg_list     => p_init_msg_list,
48                                              x_return_status     => l_return_status,
49                                              x_msg_count         => x_msg_count,
50                                              x_msg_data          => x_msg_data,
51                                              p_aelv_rec          => l_aelv_rec,
52                                              x_aelv_rec          => x_aelv_rec);
53 
54         IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
55 
56             OPEN aelv_csr(p_aelv_rec.ae_line_id);
57             FETCH aelv_csr INTO l_ae_header_id;
58             CLOSE aelv_csr;
59 
60             OPEN aehv_csr(l_ae_header_id);
61             FETCH aehv_csr INTO l_accounting_event_id;
62             CLOSE aehv_csr;
63 
64             l_aehv_rec_in.ae_header_id := l_ae_header_id;
65             l_aehv_rec_in.accounting_error_code := NULL;
66 
67             l_aetv_rec_in.accounting_Event_id := l_accounting_event_id;
68             l_aetv_rec_in.event_status_code := 'ACCOUNTED';
69 
70             OKL_ACCT_EVENT_PUB.UPDATE_ACCT_HEADER(p_api_version       => p_api_version,
71                                                   p_init_msg_list     => p_init_msg_list,
72                                                   x_return_status     => l_return_status,
73                                                   x_msg_count         => x_msg_count,
74                                                   x_msg_data          => x_msg_data,
75                                                   p_aehv_rec          => l_aehv_rec_in,
76                                                   x_aehv_rec          => l_aehv_rec_out);
77 
78             IF (l_return_status = OKL_API.G_RET_STS_SUCCESS) THEN
79 
80                 OKL_ACCT_EVENT_PUB.UPDATE_ACCT_EVENT(p_api_version       => p_api_version,
81                                                      p_init_msg_list     => p_init_msg_list,
82                                                      x_return_status     => l_return_status,
83                                                      x_msg_count         => x_msg_count,
84                                                      x_msg_data          => x_msg_data,
85                                                      p_aetv_rec          => l_aetv_rec_in,
86                                                      x_aetv_rec          => l_aetv_rec_out);
87             END IF;
88 
89         END IF;
90 
91     ELSE
92 
93         Okc_Api.SET_MESSAGE(p_app_name     => 'OKC',
94                             p_msg_name     => g_invalid_value,
95                             p_token1       => g_col_name_token,
96                             p_token1_value => 'CODE_COMBINATION_ID');
97 
98         l_return_status := OKL_API.G_RET_STS_ERROR;
99 
100    END IF;
101 
102    x_return_status := l_return_status;
103 
104 EXCEPTION
105 
106   WHEN OTHERS THEN
107       OKL_API.SET_MESSAGE(p_app_name      => g_app_name
108                          ,p_msg_name      => g_unexpected_error
109                          ,p_token1        => g_sqlcode_token
110                          ,p_token1_value  => SQLCODE
111                          ,p_token2        => g_sqlerrm_token
112                          ,p_token2_value  => SQLERRM);
113 
114       x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
115 
116 END UPDATE_ACCT_ENTRIES;
117 
118 
119 END OKL_ACCOUNTING_UPDATE_PVT;