[Home] [Help]
PACKAGE BODY: APPS.OKL_PRCTIMEOUT_PVT
Source
1 PACKAGE BODY OKL_PRCTIMEOUT_PVT AS
2 /* $Header: OKLRPTOB.pls 120.2 2007/05/14 20:39:24 srsreeni ship $ */
3
4 PROCEDURE REQUEST_TIME_OUT(x_errbuf OUT NOCOPY VARCHAR2,
5 x_retcode OUT NOCOPY NUMBER)
6 IS
7 l_api_name CONSTANT VARCHAR2(40) := 'OKL_PRCTIMEOUT_PVT';
8 l_api_version CONSTANT NUMBER := 1.0;
9 p_api_version CONSTANT NUMBER := 1.0;
10
11 l_return_status VARCHAR2(1) := OKL_API.G_RET_STS_SUCCESS;
12 l_init_msg_list VARCHAR2(1);
13 l_msg_count NUMBER;
14 l_msg_data VARCHAR2(2000);
15 lp_sifv_rec sifv_rec_type;
16 lx_sifv_rec sifv_rec_type;
17
18 l_time_out NUMBER := TO_NUMBER (FND_PROFILE.VALUE ('OKL_STREAMS_TIME_OUT'));
19 l_sysdate DATE := SYSDATE;
20
21 CURSOR l_okl_prctimeout_csr
22 IS
23 SELECT ID, DATE_PROCESSED, ORP_CODE,KHR_ID
24 FROM OKL_STREAM_INTERFACES
25 WHERE sis_code IN (G_SIS_HDR_INSERTED, G_SIS_DATA_ENTERED, G_SIS_PROCESSING_REQUEST, G_SIS_RET_DATA_RECEIVED);
26
27 l_okl_prctimeout_rec l_okl_prctimeout_csr%ROWTYPE;
28 l_date_processed DATE;
29 l_RecordsProcessed NUMBER := 0;
30 l_error_msg_rec Error_message_Type;
31
32 BEGIN
33
34 x_retcode := 0;
35 l_return_status := Okl_Api.START_ACTIVITY(l_api_name
36 ,G_PKG_NAME
37 ,l_init_msg_list
38 ,l_api_version
39 ,p_api_version
40 ,'_PVT'
41 ,l_return_status);
42
43 IF (l_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR) THEN
44 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Unexpected error in Start Activity');
45 RAISE Okl_Api.G_EXCEPTION_UNEXPECTED_ERROR;
46 ELSIF (l_return_Status = Okl_Api.G_RET_STS_ERROR) THEN
47 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Error in Start Activity');
48 RAISE Okl_Api.G_EXCEPTION_ERROR;
49 END IF;
50 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Start Activity Successful');
51 FND_FILE.PUT_LINE(FND_FILE.LOG, ' ');
52
53 -- Printing the values in the log file.
54
55 FND_FILE.PUT_LINE(FND_FILE.LOG, ' ');
56 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Pricing Time out value : ' || l_time_out);
57 FND_FILE.PUT_LINE(FND_FILE.LOG, ' ');
58
59
60 FND_FILE.PUT_LINE(FND_FILE.LOG, ' Processing Started ... ');
61
62
63 FOR l_okl_prctimeout_rec in l_okl_prctimeout_csr LOOP
64
65 IF((l_sysdate - l_okl_prctimeout_rec.date_processed) * 1440) > l_time_out THEN
66 l_RecordsProcessed := l_RecordsProcessed + 1;
67
68 lp_sifv_rec.id := l_okl_prctimeout_rec.id;
69 lp_sifv_rec.sis_code := G_SIS_TIME_OUT;
70 lp_sifv_rec.orp_code := l_okl_prctimeout_rec.orp_code;
71
72 okl_stream_interfaces_pub.update_stream_interfaces(
73 p_api_version => l_api_version,
74 p_init_msg_list => l_init_msg_list ,
75 x_return_status => l_return_status,
76 x_msg_count => l_msg_count,
77 x_msg_data => l_msg_data,
78 p_sifv_rec => lp_sifv_rec,
79 x_sifv_rec => lx_sifv_rec );
80 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
81 FND_FILE.PUT_LINE(FND_FILE.LOG, l_return_Status || 'Unexpected Error ');
82 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
83 ELSIF (l_return_Status = OKL_API.G_RET_STS_ERROR) THEN
84 FND_FILE.PUT_LINE(FND_FILE.LOG, l_return_Status || 'Expected Error ');
85 RAISE OKL_API.G_EXCEPTION_ERROR;
86 END IF;
87 --srsreeni Bug6011651 starts.Updates to ERROR when the processing fails
88 OKL_BOOK_CONTROLLER_PVT.update_book_controller_trx(
89 p_api_version => l_api_version,
90 p_init_msg_list => l_init_msg_list,
91 x_return_status => l_return_status,
92 x_msg_count => l_msg_count,
93 x_msg_data => l_msg_data,
94 p_khr_id => l_okl_prctimeout_rec.khr_id,
95 p_prog_short_name => OKL_BOOK_CONTROLLER_PVT.G_PRICE_CONTRACT,
96 p_progress_status => OKL_BOOK_CONTROLLER_PVT.G_PROG_STS_ERROR);
97 IF (l_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
98 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
99 ELSIF (l_return_status = OKL_API.G_RET_STS_ERROR) THEN
100 RAISE OKL_API.G_EXCEPTION_ERROR;
101 END IF;
102
103 --srsreeni Bug6011651 ends
104
105 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Record Updated for ID : ' || l_okl_prctimeout_rec.id);
106
107 END IF;
108 END LOOP;
109
110 FND_FILE.PUT_LINE(FND_FILE.LOG, ' Processing Started ... ');
111
112 IF l_RecordsProcessed > 0 THEN
113 FND_FILE.PUT_LINE(FND_FILE.LOG, 'Number of Records Updated : ' || l_RecordsProcessed);
114 ELSE
115 FND_FILE.PUT_LINE(FND_FILE.LOG, 'None of the Records are updated.');
116 END IF;
117
118
119 Okl_Api.END_ACTIVITY(l_msg_count, l_msg_data);
120 FND_FILE.PUT_LINE(FND_FILE.LOG, 'End Activity Successful');
121 x_retcode := 0;
122
123
124 EXCEPTION
125 WHEN G_EXCEPTION_ERROR THEN
126 x_retcode := 2;
127
128 l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
129 ,g_pkg_name
130 ,'Okl_Api.G_RET_STS_ERROR'
131 ,l_msg_count
132 ,l_msg_data
133 ,'_PVT');
134
135 -- print the error message in the log file
136
137 Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
138 IF (l_error_msg_rec.COUNT > 0) THEN
139 FOR i IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
140 LOOP
141 FND_FILE.PUT_LINE(FND_FILE.LOG, l_error_msg_rec(i));
142 END LOOP;
143 END IF;
144
145 WHEN G_EXCEPTION_UNEXPECTED_ERROR THEN
146 x_retcode := 2;
147 IF l_okl_prctimeout_csr%ISOPEN THEN
148 CLOSE l_okl_prctimeout_csr;
149 END IF;
150
151 l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
152 ,g_pkg_name
153 ,'Okl_Api.G_RET_STS_UNEXP_ERROR'
154 ,l_msg_count
155 ,l_msg_data
156 ,'_PVT');
157 -- print the error message in the log file
158 Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
159 IF (l_error_msg_rec.COUNT > 0) THEN
160 FOR i IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
161 LOOP
162 FND_FILE.PUT_LINE(FND_FILE.LOG, l_error_msg_rec(i));
163 END LOOP;
164 END IF;
165
166 WHEN OTHERS THEN
167 x_errbuf := SQLERRM;
168 x_retcode := 2;
169
170 IF l_okl_prctimeout_csr%ISOPEN THEN
171 CLOSE l_okl_prctimeout_csr;
172 END IF;
173
174 l_return_status := Okl_Api.HANDLE_EXCEPTIONS(l_api_name
175 ,g_pkg_name
176 ,'OTHERS'
177 ,l_msg_count
178 ,l_msg_data
179 ,'_PVT');
180
181 -- print the error message in the log file
182 Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
183 IF (l_error_msg_rec.COUNT > 0) THEN
184 FOR i IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
185 LOOP
186 FND_FILE.PUT_LINE(FND_FILE.LOG, l_error_msg_rec(i));
187 END LOOP;
188 END IF;
189
190 END REQUEST_TIME_OUT;
191
192 END OKL_PRCTIMEOUT_PVT;