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