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