[Home] [Help]
PACKAGE BODY: APPS.OKL_EVERGREEN_BILLING_PUB
Source
1 PACKAGE BODY Okl_Evergreen_Billing_Pub AS
2 /* $Header: OKLPEGBB.pls 115.6 2004/04/13 10:44:10 rnaik noship $ */
3
4 ------------------------------------------------------------------
5 -- Procedure BIL_STREAMS to bill outstanding stream elements
6 ------------------------------------------------------------------
7
8 PROCEDURE bill_evg_streams
9 (p_api_version IN NUMBER
10 ,p_init_msg_list IN VARCHAR2 DEFAULT Okc_Api.G_FALSE
11 ,x_return_status OUT NOCOPY VARCHAR2
12 ,x_msg_count OUT NOCOPY NUMBER
13 ,x_msg_data OUT NOCOPY VARCHAR2
14 ,p_contract_number IN VARCHAR2 DEFAULT NULL
15 ,p_from_bill_date IN DATE DEFAULT NULL
16 ,p_to_bill_date IN DATE DEFAULT NULL) IS
17
18 ------------------------------------------------------------
19 -- Declare variables required by APIs
20 ------------------------------------------------------------
21
22 l_api_name CONSTANT VARCHAR2(30) := 'BILL_STREAMS';
23 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
24 l_data VARCHAR2(100);
25 l_count NUMBER;
26 l_contract_number okc_k_headers_b.contract_number%TYPE;
27 l_from_bill_date DATE;
28 l_to_bill_date DATE;
29
30 BEGIN
31
32 ------------------------------------------------------------
33 -- Start processing
34 ------------------------------------------------------------
35
36 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
37
38 SAVEPOINT sp_bill_streams;
39
40 l_contract_number := p_contract_number;
41 l_from_bill_date := p_from_bill_date;
42 l_to_bill_date := p_to_bill_date;
43
44 ------------------------------------------------------------
45 ------------------------------------------------------------
46
47
48 ------------------------------------------------------------
49 ------------------------------------------------------------
50
51
52 ------------------------------------------------------------
53 -- Call process API to bill streams
54 ------------------------------------------------------------
55
56 Okl_Evergreen_Billing_Pvt.BILL_EVERGREEN_STREAMS(
57 p_api_version => p_api_version,
58 p_init_msg_list => p_init_msg_list,
59 x_return_status => l_return_status,
60 x_msg_count => x_msg_count,
61 x_msg_data => x_msg_data,
62 p_contract_number => l_contract_number,
63 p_from_bill_date => l_from_bill_date,
64 p_to_bill_date => l_to_bill_date);
65
66
67 IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
68 RAISE Fnd_Api.G_EXC_ERROR;
69 ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
70 RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
71 END IF;
72
73 ------------------------------------------------------------
74 ------------------------------------------------------------
75
76
77 ------------------------------------------------------------
78 ------------------------------------------------------------
79
80
81
82 EXCEPTION
83
84 ------------------------------------------------------------
85 -- Exception handling
86 ------------------------------------------------------------
87
88 WHEN Fnd_Api.G_EXC_ERROR THEN
89
90 ROLLBACK TO sp_bill_streams;
91 x_return_status := Fnd_Api.G_RET_STS_ERROR;
92 Fnd_Msg_Pub.Count_and_get (
93 p_encoded => Okc_Api.G_FALSE,
94 p_count => x_msg_count,
95 p_data => x_msg_data);
96
97 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
98
99 ROLLBACK TO sp_bill_streams;
100 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
101 Fnd_Msg_Pub.Count_and_get (
102 p_encoded => Okc_Api.G_FALSE,
103 p_count => x_msg_count,
104 p_data => x_msg_data);
105
106 WHEN OTHERS THEN
107
108 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
109 Fnd_Msg_Pub.ADD_EXC_MSG (
110 p_pkg_name => G_PKG_NAME,
111 p_procedure_name => l_api_name);
112 Fnd_Msg_Pub.Count_and_get (
113 p_encoded => Okc_Api.G_FALSE,
114 p_count => x_msg_count,
115 p_data => x_msg_data);
116
117
118 END bill_evg_streams;
119
120
121
122 PROCEDURE bill_evg_streams_conc (
123 errbuf OUT NOCOPY VARCHAR2,
124 retcode OUT NOCOPY NUMBER,
125 p_from_bill_date IN VARCHAR2,
126 p_to_bill_date IN VARCHAR2,
127 p_contract_number IN VARCHAR2
128 )
129 IS
130
131 l_api_version NUMBER := 1;
132 lx_msg_count NUMBER;
133 l_from_bill_date DATE;
134 l_to_bill_date DATE;
135 l_count1 NUMBER :=0;
136 l_count2 NUMBER :=0;
137 l_count NUMBER :=0;
138 I NUMBER :=0;
139 l_msg_index_out NUMBER :=0;
140 lx_msg_data VARCHAR2(450);
141 lx_return_status VARCHAR2(1);
142
143 BEGIN
144
145 IF p_from_bill_date IS NOT NULL THEN
146 l_from_bill_date := FND_DATE.CANONICAL_TO_DATE(p_from_bill_date);
147 END IF;
148
149 IF p_to_bill_date IS NOT NULL THEN
150 l_to_bill_date := FND_DATE.CANONICAL_TO_DATE(p_to_bill_date);
151 END IF;
152
153
154 FND_FILE.PUT_LINE (FND_FILE.LOG, 'From Bill Date = ' ||p_from_bill_date);
155 FND_FILE.PUT_LINE (FND_FILE.LOG, 'To Bill Date = ' ||p_to_bill_date);
156 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Contract Number = ' ||p_contract_number);
157
158
159 Okl_Evergreen_Billing_Pub.BILL_EVG_STREAMS(
160 p_api_version => l_api_version,
161 p_init_msg_list => Okl_Api.G_FALSE,
162 x_return_status => lx_return_status,
163 x_msg_count => lx_msg_count,
164 x_msg_data => errbuf,
165 p_contract_number => p_contract_number,
166 p_from_bill_date => l_from_bill_date,
167 p_to_bill_date => l_to_bill_date);
168
169
170 BEGIN
171 IF lx_msg_count > 0 THEN
172 FOR i IN 1..lx_msg_count LOOP
173 fnd_msg_pub.get (p_msg_index => i,
174 p_encoded => 'F',
175 p_data => lx_msg_data,
176 p_msg_index_out => l_msg_index_out);
177
178 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,TO_CHAR(i) || ': ' || lx_msg_data);
179 END LOOP;
180 END IF;
181 EXCEPTION
182 WHEN OTHERS THEN
183 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
184
185 END;
186 EXCEPTION
187 WHEN OTHERS THEN
188 NULL ;
189 END bill_evg_streams_conc;
190
191
192 END Okl_Evergreen_Billing_Pub;