DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_GENERATE_STREAMS_PVT

Source


1 PACKAGE BODY Okl_Generate_Streams_Pvt AS
2 /* $Header: OKLRGSMB.pls 120.5 2005/10/30 04:34:16 appldev noship $ */
3 
4 --|         : 10-08-04 GKADARKA  -- Fixes for bug 3909261    -Start                  |
5  G_WF_EVT_KHR_GEN_STRMS CONSTANT VARCHAR2(61) := 'oracle.apps.okl.la.lease_contract.stream_generation_requested';
6  G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(15) := 'CONTRACT_ID';
7  G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(20) := 'CONTRACT_PROCESS';
8 --|         : 10-08-04 GKADARKA  -- Fixes for bug 3909261    -End                  |
9 
10 ------------------------------------------------------------------------------
11 -- Procedure GENERATE_STREAMS
12 ------------------------------------------------------------------------------
13 PROCEDURE GENERATE_STREAMS(p_api_version          IN         NUMBER
14                            ,p_init_msg_list       IN         VARCHAR2
15                            ,p_khr_id              IN         NUMBER
16                            ,p_generation_ctx_code IN         VARCHAR2
17                            ,x_trx_number          OUT NOCOPY NUMBER
18                            ,x_trx_status          OUT NOCOPY VARCHAR2
19                            ,x_return_status       OUT NOCOPY VARCHAR2
20                            ,x_msg_count           OUT NOCOPY NUMBER
21                            ,x_msg_data            OUT NOCOPY VARCHAR2)
22 IS
23 
24 l_api_name VARCHAR2(31) := 'GENERATE_STREAMS';
25 l_return_status   VARCHAR2(1) := G_RET_STS_SUCCESS;
26 l_trx_status   VARCHAR2(30);
27 l_skip_engine   VARCHAR2(1) := G_FALSE;
28 
29 --|         : 10-08-04 GKADARKA  -- Fixes for bug 3909261    -Start                  |
30 
31 PROCEDURE raise_business_event(x_return_status OUT NOCOPY VARCHAR2) IS
32       l_process VARCHAR2(20);
33       l_parameter_list           wf_parameter_list_t;
34 
35   BEGIN
36 
37 	 l_process := Okl_Lla_Util_Pvt.get_contract_process(p_khr_id);
38 
39   	 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID,p_khr_id,l_parameter_list);
40   	 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS,l_process,l_parameter_list);
41 
42          OKL_WF_PVT.raise_event (p_api_version    => p_api_version,
43                                  p_init_msg_list  => p_init_msg_list,
44 								 x_return_status  => x_return_status,
45 								 x_msg_count      => x_msg_count,
46 								 x_msg_data       => x_msg_data,
47 								 p_event_name     => G_WF_EVT_KHR_GEN_STRMS,
48 								 p_parameters     => l_parameter_list);
49 
50 
51 
52      EXCEPTION
53      WHEN OTHERS THEN
54        x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
55        RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
56  END raise_business_event;
57 
58  --|         : 10-08-04 GKADARKA  -- Fixes for bug 3909261    -End                  |
59 
60 BEGIN
61 
62   /*------------------------------------------------------------------------------------
63   NOTE: p_generation_ctx_code holds the LookUp Code for LookUp Type OKL_CONTRACT_PROCESS
64   -------------------------------------------------------------------------------------*/
65 
66   IF(p_generation_ctx_code = G_ORP_CODE_AUTH) THEN
67     okl_la_stream_pub.generate_streams(p_api_version          => p_api_version
68                                        ,p_init_msg_list       => p_init_msg_list
69                                        ,p_chr_id              => p_khr_id
70                                        ,p_generation_context  => p_generation_ctx_code
71                                        ,p_skip_prc_engine     => l_skip_engine
72                                        ,x_request_id          => x_trx_number
73 				                       ,x_trans_status        => l_trx_status
74                                        ,x_return_status       => l_return_status
75                                        ,x_msg_count           => x_msg_count
76                                        ,x_msg_data            => x_msg_data);
77   ELSIF(p_generation_ctx_code = G_ORP_CODE_QUOT) THEN
78     NULL;
79   ELSIF(p_generation_ctx_code = G_ORP_CODE_RBOK) THEN
80     NULL;
81   ELSIF(p_generation_ctx_code = G_ORP_CODE_TERM) THEN
82     NULL;
83   END IF;
84 
85 
86 
87  /* For Testing Purposes only
88   OKL_CREATE_STREAMS_TEST.INVOKE_TEST_SCRIPT(
89                 p_khr_id        => p_khr_id,
90                 x_return_status => l_return_status,
91                 x_trans_id      => x_trx_number,
92                 x_trans_status  => x_trx_status,
93                 x_msg_count     => x_msg_count,
94                 x_msg_data      => x_msg_data);
95 */
96 
97   IF (l_return_status = G_RET_STS_ERROR) THEN
98     RAISE G_EXCEPTION_ERROR;
99   ELSIF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
100     RAISE G_EXCEPTION_UNEXPECTED_ERROR;
101   END IF;
102 
103  x_return_status := l_return_status;
104   x_trx_status := OKL_ACCOUNTING_UTIL.GET_LOOKUP_MEANING('OKL_SIF_STATUS', l_trx_status);
105 
106 --|         : 10-08-04 GKADARKA  -- Fixes for bug 3909261    -Start                  |
107 
108   raise_business_event(x_return_status => x_return_status);
109         IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
110            RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
111         ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
112            RAISE OKL_API.G_EXCEPTION_ERROR;
113         END IF;
114 
115 --|         : 10-08-04 GKADARKA  -- Fixes for bug 3909261    -End                  |
116   EXCEPTION
117 
118     WHEN G_EXCEPTION_ERROR THEN
119       x_return_status := G_RET_STS_ERROR;
120       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
121                           p_msg_name     => G_UNEXPECTED_ERROR,
122                           p_token1       => G_SQLCODE_TOKEN,
123                           p_token1_value => SQLCODE,
124                           p_token2       => G_SQLERRM_TOKEN,
125                           p_token2_value => SQLERRM );
126     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
127       x_return_status := G_RET_STS_UNEXP_ERROR;
128       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
129                           p_msg_name     => G_UNEXPECTED_ERROR,
130                           p_token1       => G_SQLCODE_TOKEN,
131                           p_token1_value => SQLCODE,
132                           p_token2       => G_SQLERRM_TOKEN,
133                           p_token2_value => SQLERRM );
134     WHEN OTHERS THEN
135      x_return_status := G_RET_STS_UNEXP_ERROR;
136       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
137                           p_msg_name     => G_UNEXPECTED_ERROR,
138                           p_token1       => G_SQLCODE_TOKEN,
139                           p_token1_value => SQLCODE,
140                           p_token2       => G_SQLERRM_TOKEN,
141                           p_token2_value => SQLERRM );
142 
143 END GENERATE_STREAMS;
144 
145 
146 ------------------------------------------------------------------------------
147 -- Procedure POPULATE_HEADER_DATA
148 ------------------------------------------------------------------------------
149 PROCEDURE POPULATE_HEADER_DATA(p_api_version          IN         NUMBER
150                                ,p_init_msg_list       IN         VARCHAR2
151                                ,p_khr_id              IN         NUMBER
152                                ,p_generation_ctx_code IN         VARCHAR2
153                                ,x_trx_number          OUT NOCOPY NUMBER
154                                ,x_return_status       OUT NOCOPY VARCHAR2
155                                ,x_msg_count           OUT NOCOPY NUMBER
156                                ,x_msg_data            OUT NOCOPY VARCHAR2)
157 IS
158 
159 l_api_name VARCHAR2(31) := 'POPULATE_HEADER_DATA';
160 l_return_status   VARCHAR2(1) := G_RET_STS_SUCCESS;
161 l_skip_engine   VARCHAR2(1) := G_TRUE;
162 l_trx_status VARCHAR2(30);
163 
164 BEGIN
165 
166   /*------------------------------------------------------------------------------------
167   NOTE: p_generation_ctx_code holds the LookUp Code for LookUp Type OKL_CONTRACT_PROCESS
168   -------------------------------------------------------------------------------------*/
169 --dbms_output.put_line('inside  gen stream pvt' || l_return_status);
170   IF(p_generation_ctx_code = G_ORP_CODE_AUTH) THEN
171 --dbms_output.put_line('calling la strm pub' || l_return_status);
172     okl_la_stream_pub.generate_streams(p_api_version          => p_api_version
173                                        ,p_init_msg_list       => p_init_msg_list
174                                        ,p_chr_id              => p_khr_id
175                                        ,p_generation_context  => p_generation_ctx_code
176                                        ,p_skip_prc_engine     => l_skip_engine
177                                        ,x_request_id          => x_trx_number
178 				       ,x_trans_status        => l_trx_status
179                                        ,x_return_status       => l_return_status
180                                        ,x_msg_count           => x_msg_count
181                                        ,x_msg_data            => x_msg_data);
182 --dbms_output.put_line('back from  la strm pub' || l_return_status);
183     NULL;
184   ELSIF(p_generation_ctx_code = G_ORP_CODE_QUOT) THEN
185     NULL;
186   ELSIF(p_generation_ctx_code = G_ORP_CODE_RBOK) THEN
187     NULL;
188   ELSIF(p_generation_ctx_code = G_ORP_CODE_TERM) THEN
189     NULL;
190   END IF;
191 
192   IF (l_return_status = G_RET_STS_ERROR) THEN
193     RAISE G_EXCEPTION_ERROR;
194   ELSIF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
195     RAISE G_EXCEPTION_UNEXPECTED_ERROR;
196   END IF;
197 
198   x_return_status := l_return_status;
199 
200   EXCEPTION
201 
202     WHEN G_EXCEPTION_ERROR THEN
203 --dbms_output.put_line('gen stream pvt error' || sqlcode || sqlerrm);
204       x_return_status := G_RET_STS_ERROR;
205       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
206                           p_msg_name     => G_UNEXPECTED_ERROR,
207                           p_token1       => G_SQLCODE_TOKEN,
208                           p_token1_value => SQLCODE,
209                           p_token2       => G_SQLERRM_TOKEN,
210                           p_token2_value => SQLERRM );
211     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
212 --dbms_output.put_line('gen stream pvt UU' || sqlcode || sqlerrm);
213       x_return_status := G_RET_STS_UNEXP_ERROR;
214       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
215                           p_msg_name     => G_UNEXPECTED_ERROR,
216                           p_token1       => G_SQLCODE_TOKEN,
217                           p_token1_value => SQLCODE,
218                           p_token2       => G_SQLERRM_TOKEN,
219                           p_token2_value => SQLERRM );
220     WHEN OTHERS THEN
221 --dbms_output.put_line('gen stream pvt OO' || sqlcode || sqlerrm);
222      x_return_status := G_RET_STS_UNEXP_ERROR;
223       -- store SQL error message on message stack for caller
224       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
225                           p_msg_name     => G_UNEXPECTED_ERROR,
226                           p_token1       => G_SQLCODE_TOKEN,
227                           p_token1_value => SQLCODE,
228                           p_token2       => G_SQLERRM_TOKEN,
229                           p_token2_value => SQLERRM );
230 END POPULATE_HEADER_DATA;
231 
232 
233 ------------------------------------------------------------------------------
234 -- Procedure INVOKE_PRICING_ENGINE
235 ------------------------------------------------------------------------------
236 PROCEDURE INVOKE_PRICING_ENGINE(p_api_version          IN         NUMBER
237                                 ,p_init_msg_list       IN         VARCHAR2
238                                 ,p_trx_number          IN NUMBER
239                                 ,x_trx_number          OUT NOCOPY NUMBER
240                                 ,x_trx_status          OUT NOCOPY VARCHAR2
241                                 ,x_return_status       OUT NOCOPY VARCHAR2
242                                 ,x_msg_count           OUT NOCOPY NUMBER
243                                 ,x_msg_data            OUT NOCOPY VARCHAR2)
244 IS
245 
246 -- mvasudev, 04/24/2002
247 CURSOR sif_csr(l_transaction_number NUMBER) IS
248 SELECT id, orp_code, deal_type, stream_interface_attribute04
249 FROM OKL_STREAM_INTERFACES
250 WHERE OKL_STREAM_INTERFACES.transaction_number = l_transaction_number;
251 
252 --l_transaction_status_csr transaction_status_csr;
253 l_api_name VARCHAR2(31) := 'GENERATE_STREAMS';
254 l_return_status   VARCHAR2(1) := G_RET_STS_SUCCESS;
255 lx_sif_vrec sifv_rec_type;
256 l_sif_vrec sifv_rec_type;
257 
258 BEGIN
259 
260   /*------------------------------------------------------------------------------------
261   NOTE: p_generation_ctx_code holds the LookUp Code for LookUp Type OKL_CONTRACT_PROCESS
262   -------------------------------------------------------------------------------------*/
263  FOR l_sif_csr IN sif_csr(p_trx_number)
264  LOOP
265    l_sif_vrec.id := l_sif_csr.id;
266    l_sif_vrec.orp_code := l_sif_csr.orp_code;
267    l_sif_vrec.deal_type := l_sif_csr.deal_type;
268 
269    -- mvasudev, 04/24/2002
270    l_sif_vrec.stream_interface_attribute04 := l_sif_csr.stream_interface_attribute04;
271 
272  END LOOP;
273  OKL_CREATE_STREAMS_PUB.INVOKE_PRICING_ENGINE(p_api_version    => p_api_version
274                                              ,p_init_msg_list => p_init_msg_list
275                                              ,p_sifv_rec      => l_sif_vrec
276                                              ,x_sifv_rec      => lx_sif_vrec
277                                              ,x_return_status => l_return_status
278                                              ,x_msg_count     => x_msg_count
279                                              ,x_msg_data      => x_msg_data);
280 
281   IF (l_return_status = G_RET_STS_ERROR) THEN
282     RAISE G_EXCEPTION_ERROR;
283   ELSIF (l_return_status = G_RET_STS_UNEXP_ERROR) THEN
284     RAISE G_EXCEPTION_UNEXPECTED_ERROR;
285   END IF;
286   x_trx_number := lx_sif_vrec.transaction_number;
287   x_trx_status := lx_sif_vrec.sis_code;
288   x_return_status := l_return_status;
289   EXCEPTION
290 
291     WHEN G_EXCEPTION_ERROR THEN
292       x_return_status := G_RET_STS_ERROR;
293       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
294                           p_msg_name     => G_UNEXPECTED_ERROR,
295                           p_token1       => G_SQLCODE_TOKEN,
296                           p_token1_value => SQLCODE,
297                           p_token2       => G_SQLERRM_TOKEN,
298                           p_token2_value => SQLERRM );
299     WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
300       x_return_status := G_RET_STS_UNEXP_ERROR;
301       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
302                           p_msg_name     => G_UNEXPECTED_ERROR,
303                           p_token1       => G_SQLCODE_TOKEN,
304                           p_token1_value => SQLCODE,
305                           p_token2       => G_SQLERRM_TOKEN,
306                           p_token2_value => SQLERRM );
307     WHEN OTHERS THEN
308      x_return_status := G_RET_STS_UNEXP_ERROR;
309       -- store SQL error message on message stack for caller
310       OKL_API.SET_MESSAGE(p_app_name     => G_APP_NAME,
311                           p_msg_name     => G_UNEXPECTED_ERROR,
312                           p_token1       => G_SQLCODE_TOKEN,
313                           p_token1_value => SQLCODE,
314                           p_token2       => G_SQLERRM_TOKEN,
315                           p_token2_value => SQLERRM );
316 
317 END INVOKE_PRICING_ENGINE;
318 
319 END Okl_Generate_Streams_Pvt;