[Home] [Help]
PACKAGE BODY: APPS.CS_CONBILLING_PVT
Source
1 PACKAGE BODY CS_CONBILLING_PVT AS
2 /* $Header: csctarfb.pls 115.4 99/07/16 08:48:17 porting ship $ */
3
4 -- Start of comments
5 -- API name : Update Billing API
6 -- Type : Public
7 -- Pre-reqs : None.
8 -- Function : This API to write invoice details to
9 -- cs_contracts_billing
10 -- Parameters :
11 -- IN :
12 -- p_api_version NUMBER Required
13 -- p_contract_id NUMBER
14 -- p_cp_service_trx_id NUMBER
15 -- p_contract_id NUMBER
16 -- p_trx_type_id NUMBER
17 -- p_trx_number NUMBER
18 -- p_trx_date DATE
19 -- p_trx_amount NUMBER
20 -- p_contract_billing_id NUMBER
21 -- p_obj_version_number NUMBER
22 -- p_cp_service_id NUMBER
23 -- p_init_msg_list VARCHAR2
24 -- p_commit VARCHAR2
25 -- OUT :
26 -- x_return_status VARCHAR2
27 -- x_msg_count NUMBER
28 -- x_msg_data VARCHAR2
29 --End of comments
30 /*************************************************************************/
31
32
33 PROCEDURE update_billing(
34 p_api_version IN NUMBER,
35 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
36 p_commit IN VARCHAR2 := FND_API.G_FALSE,
37 p_cp_service_trx_id IN NUMBER,
38 p_contract_id IN NUMBER,
39 p_trx_type_id IN NUMBER,
40 p_trx_number IN NUMBER,
41 p_trx_date IN DATE,
42 p_tot_trx_amount IN NUMBER,
43 p_trx_pre_tax_amount IN NUMBER,
44 p_contract_billing_id IN NUMBER,
45 p_obj_version_number IN NUMBER,
46 x_return_status OUT VARCHAR2,
47 x_msg_count OUT NUMBER,
48 x_msg_data OUT NUMBER) IS
49
50 l_api_name CONSTANT VARCHAR2(30):='Update_Billing_Api';
51 l_api_version CONSTANT NUMBER := 1;
52 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
53 l_msg_data VARCHAR2(2000);
54
55 transaction_class VARCHAR2(4);
56 v_return_status VARCHAR2(1);
57 v_msg_count NUMBER;
58 v_msg_data VARCHAR2(2000);
59 p_obj_ver_num NUMBER;
60
61
62 BEGIN
63
64 l_return_status:=TAPI_DEV_KIT.START_ACTIVITY(l_api_name,
65 G_PKG_NAME,
66 l_api_version,
67 p_api_version,
68 p_init_msg_list,
69 '_pvt',
70 x_return_status);
71
72
73 IF (l_return_status=FND_API.G_RET_STS_UNEXP_ERROR) then
74 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
75 END IF;
76
77 SELECT type INTO transaction_class
78 FROM ra_cust_trx_types
79 WHERE cust_trx_type_id=p_trx_type_id;
80
81 IF SQL%NOTFOUND THEN
82 fnd_message.set_name('CS','CS_CONTRACTS_CLASS_NOT_FOUND');
83 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
84
85 END IF;
86
87 /* update inv details in cs_contract_billing*/
88
89 IF (transaction_class = 'INV') THEN
90
91 /* UPDATE cs_contracts_billing
92 SET trx_number=p_trx_number,
93 trx_date=p_trx_date,
94 trx_amount=p_tot_trx_amount,
95 trx_pre_tax_amount=p_trx_pre_tax_amount,
96 trx_class='INV'
97 WHERE contract_billing_id=p_contract_billing_id;
98
99 */
100
101 CS_CONTRACTBILLING_PVT.Update_Row(
102 p_api_version => 1.0,
103 p_init_msg_list => 'T',
104 p_validation_level => 100,
105 p_commit => 'F',
106 x_return_status => v_return_status,
107 x_msg_count => v_msg_count,
108 x_msg_data => v_msg_data,
109 p_contract_billing_id => p_contract_billing_id,
110 p_object_version_number => p_obj_version_number,
111 p_trx_date => p_trx_date,
112 p_trx_number => p_trx_number,
113 p_trx_amount => p_tot_trx_amount,
114 p_trx_pre_tax_amount => p_trx_pre_tax_amount,
115 p_trx_class => 'INV',
116 x_object_version_number => p_obj_ver_num
117 );
118
119
120 ELSE
121 /*
122 UPDATE cs_contracts_billing
123 SET trx_number=p_trx_number,
124 trx_date=p_trx_date,
125 trx_amount=p_tot_trx_amount,
126 trx_pre_tax_amount=p_trx_pre_tax_amount,
127 trx_class='CM'
128 WHERE contract_billing_id=p_contract_billing_id;
129 */
130
131 CS_CONTRACTBILLING_PVT.Update_Row(
132 p_api_version => 1.0,
133 p_init_msg_list => 'T',
134 p_validation_level => 100,
135 p_commit => 'F',
136 x_return_status => v_return_status,
137 x_msg_count => v_msg_count,
138 x_msg_data => v_msg_data,
139 p_contract_billing_id => p_contract_billing_id,
140 p_trx_date => p_trx_date,
141 p_object_version_number => p_obj_version_number,
142 p_trx_number => p_trx_number,
143 p_trx_amount => p_tot_trx_amount,
144 p_trx_pre_tax_amount => p_trx_pre_tax_amount,
145 p_trx_class => 'CM',
146 x_object_version_number => p_obj_ver_num
147 );
148
149 END IF;
150
151 IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
152 fnd_message.set_name('CS','CS_CONTRACTS_ERR_UPD_BILL');
153 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
154
155 ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
156 fnd_message.set_name('CS','CS_CONTRACTS_ERR_UPD_BILL');
157 RAISE FND_API.G_EXC_ERROR;
158 END IF;
159
160 IF (v_return_status <>'S' and v_msg_count >=1) then
161 fnd_file.put_line(fnd_file.log , 'message '|| v_msg_data);
162 END IF;
163
164
165 TAPI_DEV_KIT.END_ACTIVITY(p_commit,
166 x_msg_count,
167 x_msg_data);
168
169 x_return_status := FND_API.G_RET_STS_SUCCESS;
170
171 --COMMIT;
172
173 EXCEPTION
174 WHEN FND_API.G_EXC_ERROR THEN
175 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
176 ( l_api_name,
177 G_PKG_NAME,
178 'FND_API.G_RET_STS_ERROR',
179 x_msg_count,
180 x_msg_data,
181 '_pvt');
182
183 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
184 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
185 ( l_api_name,
186 G_PKG_NAME,
187 'FND_API.G_RET_STS_UNEXP_ERROR',
188 x_msg_count,
189 x_msg_data,
190 '_pvt');
191
192 WHEN OTHERS THEN
193 x_return_status := TAPI_DEV_KIT.HANDLE_EXCEPTIONS
194 ( l_api_name,
195 G_PKG_NAME,
196 'OTHERS',
197 x_msg_count,
198 x_msg_data,
199 '_pvt');
200
201
202 END update_billing;
203
204 END CS_CONBILLING_PVT;