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