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