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