[Home] [Help]
PACKAGE BODY: APPS.OKL_EXT_BILLING_CHARGES_PUB
Source
1 PACKAGE BODY Okl_Ext_Billing_Charges_Pub AS
2 /* $Header: OKLPBCGB.pls 115.6 2004/04/13 10:32:51 rnaik noship $ */
3
4 -------------------------------------------------------------------------
5 -- Procedure BILLING_CHARGES to bill imported data from external sources.
6 -------------------------------------------------------------------------
7
8 PROCEDURE billing_charges
9 (p_api_version IN NUMBER
10 ,p_init_msg_list IN VARCHAR2 DEFAULT Okl_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_name IN VARCHAR2 DEFAULT NULL
15 ,p_sequence_number IN NUMBER DEFAULT NULL
16 ,p_date_transmission IN DATE DEFAULT NULL
17 ,p_origin IN VARCHAR2 DEFAULT NULL
18 ,p_destination IN VARCHAR2 DEFAULT NULL) IS
19
20 ------------------------------------------------------------
21 -- Declare variables required by APIs
22 ------------------------------------------------------------
23
24 l_api_version NUMBER;
25 l_init_msg_list VARCHAR2(1);
26 l_msg_data VARCHAR2(2000);
27 l_api_name CONSTANT VARCHAR2(30) := 'BILLING_CHARGES';
28 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
29 l_data VARCHAR2(2000);
30 l_count NUMBER;
31
32 l_name OKL_BLLNG_CHRG_HDRS_V.name%TYPE;
33 l_sequence_number OKL_BLLNG_CHRG_HDRS_V.sequence_number%TYPE;
34 l_date_transmission OKL_BLLNG_CHRG_HDRS_V.date_transmission%TYPE;
35 l_origin OKL_BLLNG_CHRG_HDRS_V.origin%TYPE;
36 l_destination OKL_BLLNG_CHRG_HDRS_V.destination%TYPE;
37
38 BEGIN
39
40 ------------------------------------------------------------
41 -- Start processing
42 ------------------------------------------------------------
43
44 x_return_status := Fnd_Api.G_RET_STS_SUCCESS;
45
46 SAVEPOINT sp_bill_charges;
47
48 l_name := p_name;
49 l_sequence_number := p_sequence_number;
50 l_date_transmission := p_date_transmission;
51 l_origin := p_origin;
52 l_destination := p_destination;
53
54 l_api_version := p_api_version;
55 ------------------------------------------------------------
56 ------------------------------------------------------------
57
58
59 ------------------------------------------------------------
60 ------------------------------------------------------------
61
62
63 ------------------------------------------------------------
64 -- Call process API for billing charges
65 ------------------------------------------------------------
66 Okl_Ext_Billing_Charges_Pvt.billing_charges
67 (p_api_version => l_api_version
68 ,p_init_msg_list => l_init_msg_list
69 ,x_return_status => l_return_status
70 ,x_msg_count => l_count
71 ,x_msg_data => l_data
72 ,p_name => l_name
73 ,p_sequence_number => l_sequence_number
74 ,p_date_transmission => l_date_transmission
75 ,p_origin => l_origin
76 ,p_destination => l_destination);
77
78 IF l_return_status = Fnd_Api.G_RET_STS_ERROR THEN
79 RAISE Fnd_Api.G_EXC_ERROR;
80 ELSIF l_return_status = Fnd_Api.G_RET_STS_UNEXP_ERROR THEN
81 RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
82 END IF;
83
84 ------------------------------------------------------------
85 ------------------------------------------------------------
86
87
88 ------------------------------------------------------------
89 ------------------------------------------------------------
90
91
92
93 EXCEPTION
94
95 ------------------------------------------------------------
96 -- Exception handling
97 ------------------------------------------------------------
98
99 WHEN Fnd_Api.G_EXC_ERROR THEN
100
101 ROLLBACK TO sp_bill_charges;
102 x_return_status := Fnd_Api.G_RET_STS_ERROR;
103 Fnd_Msg_Pub.Count_and_get (
104 p_encoded => Okc_Api.G_FALSE,
105 p_count => x_msg_count,
106 p_data => x_msg_data);
107
108 WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
109
110 ROLLBACK TO sp_bill_charges;
111 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
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 WHEN OTHERS THEN
118
119 x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
120 Fnd_Msg_Pub.ADD_EXC_MSG (
121 p_pkg_name => G_PKG_NAME,
122 p_procedure_name => l_api_name);
123 Fnd_Msg_Pub.Count_and_get (
124 p_encoded => Okc_Api.G_FALSE,
125 p_count => x_msg_count,
126 p_data => x_msg_data);
127
128
129 END billing_charges;
130
131
132
133 PROCEDURE billing_charges_conc
134 (errbuf OUT NOCOPY VARCHAR2
135 ,retcode OUT NOCOPY NUMBER
136 ,p_name IN VARCHAR2 DEFAULT NULL
137 ,p_sequence_number IN NUMBER DEFAULT NULL
138 ,p_date_transmission IN DATE DEFAULT NULL
139 ,p_origin IN VARCHAR2 DEFAULT NULL
140 ,p_destination IN VARCHAR2 DEFAULT NULL)
141 IS
142
143 l_api_version NUMBER := 1;
144 lx_msg_count NUMBER;
145 l_return_status VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
146 l_date_transmission DATE;
147 l_count1 NUMBER :=0;
148 l_count2 NUMBER :=0;
149 l_count NUMBER :=0;
150 I NUMBER :=0;
151 l_msg_index_out NUMBER :=0;
152 lx_msg_data VARCHAR2(450);
153 lx_return_status VARCHAR2(1);
154 l_data VARCHAR2(2000);
155 l_init_msg_list VARCHAR2(1);
156
157 BEGIN
158
159
160 IF p_date_transmission IS NOT NULL THEN
161 l_date_transmission := FND_DATE.CANONICAL_TO_DATE(p_date_transmission);
162 END IF;
163
164
165 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Name = ' ||p_name);
166 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Sequence Number = ' ||p_sequence_number);
167 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Date Transmission = ' ||p_date_transmission);
168 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Origin = ' ||p_origin);
169 FND_FILE.PUT_LINE (FND_FILE.LOG, 'Destination = ' ||p_destination);
170
171 Okl_Ext_Billing_Charges_Pub.billing_charges
172 (p_api_version => l_api_version
173 ,p_init_msg_list => l_init_msg_list
174 ,x_return_status => l_return_status
175 ,x_msg_count => l_count
176 ,x_msg_data => l_data
177 ,p_name => p_name
178 ,p_sequence_number => p_sequence_number
179 ,p_date_transmission => p_date_transmission
180 ,p_origin => p_origin
181 ,p_destination => p_destination);
182
183
184 BEGIN
185
186 IF (l_count > 0 ) THEN
187 FOR i IN 1..l_count LOOP
188 fnd_msg_pub.get (p_msg_index => i,
189 p_encoded => 'F',
190 p_data => lx_msg_data,
191 p_msg_index_out => l_msg_index_out);
192
193 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,TO_CHAR(i) || ': ' || lx_msg_data);
194 END LOOP;
195 END IF;
196 EXCEPTION
197 WHEN OTHERS THEN
198 FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
199
200 END;
201 EXCEPTION
202 WHEN OTHERS THEN
203 NULL ;
204 END billing_charges_conc;
205
206 END Okl_Ext_Billing_Charges_Pub;