DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKL_CREATE_ADJST_PUB

Source


1 PACKAGE BODY okl_create_adjst_pub AS
2 /* $Header: OKLPOCAB.pls 120.2.12010000.2 2009/08/06 08:45:36 nikshah ship $ */
3 
4 /*===========================================================================+
5  | PROCEDURE                                                                 |
6  |              create_adjustments_pub                                       |
7  |                                                                           |
8  | DESCRIPTION                                                               |
9  |              This is the main routine to create an adjustment in AR       |
10  |                                                                           |
11  | SCOPE - PUBLIC                                                            |
12  |                                                                           |
13  | NOTES                                                                     |
14  |                                                                           |
15  | MODIFICATION HISTORY                                                      |
16  |    Bruno Vaghela  16-AUG-02  Created                                      |
17  |    Bruno Vaghela  21-JAN-03  Process now creates a OUTPUT file.           |
18  |    Syed Nizam     29-APR-08  Bug 6727171 -- Modified error handling       |
19  +===========================================================================*/
20 
21 PROCEDURE create_adjustments_pub( p_api_version	     IN	 NUMBER
22   				                 ,p_init_msg_list    IN	 VARCHAR2 DEFAULT OKL_API.G_FALSE
23                                  ,x_return_status    OUT NOCOPY VARCHAR2
24                                  ,x_msg_count	     OUT NOCOPY NUMBER
25                                  ,x_msg_data	     OUT NOCOPY VARCHAR2
26                                 ) IS
27 
28 l_return_status          VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
29 l_api_version			 NUMBER := 1;
30 l_init_msg_list			 VARCHAR2(1);
31 l_msg_count				 NUMBER;
32 l_msg_data				 VARCHAR(2000);
33 l_new_adj_id				 NUMBER;
34 
35 BEGIN
36 
37     SAVEPOINT save_Insert_row;
38 
39     l_api_version      := p_api_version;
40     l_init_msg_list    := p_init_msg_list;
41 
42     -- customer pre-processing
43 
44 
45 
46     OKL_CREATE_ADJST_PVT.create_adjustments ( p_api_version => p_api_version
47                                              ,p_init_msg_list => p_init_msg_list
48                                              ,x_return_status => l_return_status
49 		 	                                 ,x_msg_count => l_msg_count
50                                              ,x_msg_data => l_msg_data
51 					     ,x_new_adj_id => l_new_adj_id
52                                             );
53 
54 /* Bug 6727171 Start
55 
56     IF x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
57         RAISE G_EXCEPTION_HALT_VALIDATION;
58     ELSE
59     	IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
60             l_return_status := x_return_status;
61         END IF;
62     END IF;
63     Bug 6727171 End */
64 
65     --Bug 6727171 Start
66     IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
67 	    RAISE FND_API.G_EXC_ERROR;
68     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
69 	    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
70     END IF;
71     --Bug 6727171 End
72 
73     --Assign value to OUT variables
74 
75     x_return_status := l_return_status ;
76     x_msg_count := l_msg_count ;
77     x_msg_data := l_msg_data ;
78 
79 EXCEPTION
80 
81     WHEN Fnd_Api.G_EXC_ERROR THEN
82       ROLLBACK TO save_Insert_row;
83       x_return_status := Fnd_Api.G_RET_STS_ERROR;
84       x_msg_count := l_msg_count ;
85       x_msg_data := l_msg_data ;
86       Fnd_Msg_Pub.count_and_get(
87              p_count   => x_msg_count
88             ,p_data    => x_msg_data);
89     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
90       ROLLBACK TO save_Insert_row;
91       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
92       x_msg_count := l_msg_count ;
93       x_msg_data := l_msg_data ;
94       Fnd_Msg_Pub.count_and_get(
95              p_count   => x_msg_count
96             ,p_data    => x_msg_data);
97     WHEN OTHERS THEN
98       ROLLBACK TO save_Insert_row;
99       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
100       x_msg_count := l_msg_count ;
101       x_msg_data := l_msg_data ;
102       Fnd_Msg_Pub.ADD_EXC_MSG('CREATE_ADJUSTMENTS_PUB','insert_row');
103       Fnd_Msg_Pub.count_and_get(
104              p_count   => x_msg_count
105             ,p_data    => x_msg_data);
106 
107 END create_adjustments_pub;
108 
109 /*===========================================================================+
110  | PROCEDURE                                                                 |
111  |              iex_create_adjustments_pub                                   |
112  |                                                                           |
113  | DESCRIPTION                                                               |
114  |              This is the main routine to create an adjustment in AR       |
115  |              specifically for IEX guys.                                   |
116  |                                                                           |
117  | ARGUMENTS  : IN:                                                          |
118  |                   p_api_name                                              |
119  |                   p_api_version                                           |
120  |                   p_init_msg_list                                         |
121  |                   p_commit_flag                                           |
122  |                   p_psl_id                                                |
123  |                   p_chk_approval_limits                                   |
124  |            : OUT:                                                         |
125  |                   x_new_adj_id                                            |
126  |                   x_return_status                                         |
127  |                   x_msg_count					                         |
128  |		             x_msg_data		                                         |
129  |                                                                           |
130  | SCOPE - PUBLIC                                                            |
131  |                                                                           |
132  | NOTES                                                                     |
133  |                                                                           |
134  | MODIFICATION HISTORY                                                      |
135  |    Bruno Vaghela  09-OCT-02  Created                                      |
136  +===========================================================================*/
137 
138 PROCEDURE iex_create_adjustments_pub( p_api_version	         IN  NUMBER
139   				                     ,p_init_msg_list        IN  VARCHAR2 DEFAULT OKL_API.G_FALSE
140                                      ,p_commit_flag          IN  VARCHAR2 DEFAULT OKL_API.G_TRUE
141                                      ,p_psl_id               IN  NUMBER
142                                      ,p_chk_approval_limits  IN  VARCHAR2 DEFAULT OKL_API.G_TRUE
143                                      ,x_new_adj_id           OUT NOCOPY NUMBER
144                                      ,x_return_status        OUT NOCOPY VARCHAR2
145                                      ,x_msg_count	         OUT NOCOPY NUMBER
146                                      ,x_msg_data	         OUT NOCOPY VARCHAR2
147                                     ) IS
148 
149 l_return_status          VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
150 l_api_version			 NUMBER := 1;
151 l_init_msg_list			 VARCHAR2(1);
152 l_msg_count				 NUMBER;
153 l_msg_data				 VARCHAR(2000);
154 
155 BEGIN
156 
157     SAVEPOINT save_Insert_row;
158 
159     l_api_version      := p_api_version;
160     l_init_msg_list    := p_init_msg_list;
161 
162     -- customer pre-processing
163 
164 
165 
166     OKL_CREATE_ADJST_PVT.iex_create_adjustments ( p_api_version
167                                                  ,p_init_msg_list
168                                                  ,p_commit_flag
169                                                  ,p_psl_id
170                                                  ,p_chk_approval_limits
171                                                  ,x_new_adj_id
172                                                  ,l_return_status
173 		 	                                     ,l_msg_count
174                                                  ,l_msg_data
175                                                 );
176 
177 /*Bug 6727171 Start
178     IF x_return_status = Okl_Api.G_RET_STS_UNEXP_ERROR THEN
179         RAISE G_EXCEPTION_HALT_VALIDATION;
180     ELSE
181     	IF x_return_status <> Okl_Api.G_RET_STS_SUCCESS THEN
182             l_return_status := x_return_status;
183         END IF;
184     END IF;
185 Bug 6727171 End */
186 
187       --Bug 6727171 Start
188     IF ( l_return_status = FND_API.G_RET_STS_ERROR )  THEN
189 	    RAISE FND_API.G_EXC_ERROR;
190     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR ) THEN
191 	    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
192     END IF;
193     --Bug 6727171 End
194 
195 
196 
197     --Assign value to OUT variables
198 
199     x_return_status := l_return_status ;
200     x_msg_count := l_msg_count ;
201     x_msg_data := l_msg_data ;
202 
203 EXCEPTION
204 
205     WHEN Fnd_Api.G_EXC_ERROR THEN
206       ROLLBACK TO save_Insert_row;
207       x_return_status := Fnd_Api.G_RET_STS_ERROR;
208       x_msg_count := l_msg_count ;
209       x_msg_data := l_msg_data ;
210       Fnd_Msg_Pub.count_and_get(
211              p_count   => x_msg_count
212             ,p_data    => x_msg_data);
213     WHEN Fnd_Api.G_EXC_UNEXPECTED_ERROR THEN
214       ROLLBACK TO save_Insert_row;
215       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
216       x_msg_count := l_msg_count ;
217       x_msg_data := l_msg_data ;
218       Fnd_Msg_Pub.count_and_get(
219              p_count   => x_msg_count
220             ,p_data    => x_msg_data);
221     WHEN OTHERS THEN
222       ROLLBACK TO save_Insert_row;
223       x_return_status := Fnd_Api.G_RET_STS_UNEXP_ERROR;
224       x_msg_count := l_msg_count ;
225       x_msg_data := l_msg_data ;
226       Fnd_Msg_Pub.ADD_EXC_MSG('IEX_CREATE_ADJUSTMENTS_PUB','insert_row');
227       Fnd_Msg_Pub.count_and_get(
228              p_count   => x_msg_count
229             ,p_data    => x_msg_data);
230 
231 END iex_create_adjustments_pub;
232 
233  PROCEDURE create_adjustments_conc ( errbuf  	  OUT NOCOPY   VARCHAR2
234                                     ,retcode 	  OUT NOCOPY   NUMBER )
235 IS
236 
237   l_api_version     NUMBER := 1;
238   l_return_status	VARCHAR2(1) := Okl_Api.G_RET_STS_SUCCESS;
239   l_msg_count     	NUMBER;
240   l_msg_data    	VARCHAR2(450);
241   l_init_msg_list   VARCHAR2(1);
242 
243   l_msg_index_out   NUMBER :=0;
244   l_error_msg_rec 		Okl_Accounting_Util.Error_message_Type;
245 
246 BEGIN
247 
248 
249 	OKL_CREATE_ADJST_PUB.create_adjustments_pub ( p_api_version     => l_api_version
250                                                  ,p_init_msg_list   => l_init_msg_list
251                                                  ,x_return_status   => l_return_status
252 			                                     ,x_msg_count       => l_msg_count
253                                                  ,x_msg_data        => l_msg_data
254                                                 );
255 
256     FND_FILE.PUT_LINE (FND_FILE.LOG, '*****************************************');
257     FND_FILE.PUT_LINE (FND_FILE.LOG, 'OKL Create AR Adjustment Process Program');
258     FND_FILE.PUT_LINE (FND_FILE.LOG, '*****************************************');
259     FND_FILE.PUT_LINE (FND_FILE.LOG, 'Program Run Date:'||sysdate);
260     FND_FILE.PUT_LINE (FND_FILE.LOG, '***********************************************');
261     FND_FILE.PUT_LINE (FND_FILE.LOG, '***********************************************');
262     FND_FILE.PUT_LINE (FND_FILE.LOG, 'Detailed Error Message For Each Processed Line ...');
263     FND_FILE.PUT_LINE (FND_FILE.LOG, '----------------------------------------------------------------------------');
264 
265     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '*****************************************'
266 );
267     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'OKL Create AR Adjustment Process Program')
268 ;
269     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '*****************************************'
270 );
271     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Program Run Date:'||sysdate);
272     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '******************************************
273 *****');
274     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '******************************************
275 *****');
276     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, 'Detailed Error Message For Each Processed
277 Line ...');
278     FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '------------------------------------------
279 ----------------------------------');
280 
281     BEGIN
282 
283         Okl_Accounting_Util.GET_ERROR_MESSAGE(l_error_msg_rec);
284         IF (l_error_msg_rec.COUNT > 0) THEN
285             FOR i IN l_error_msg_rec.FIRST..l_error_msg_rec.LAST
286             LOOP
287                 FND_FILE.PUT_LINE(FND_FILE.LOG, l_error_msg_rec(i));
288                 FND_FILE.PUT_LINE (FND_FILE.LOG, '----------------------------------------------------------------------------');
289 
290                 FND_FILE.PUT_LINE(FND_FILE.OUTPUT, l_error_msg_rec(i));
291                 FND_FILE.PUT_LINE (FND_FILE.OUTPUT, '------------------------------
292 ----------------------------------------------');
293             END LOOP;
294         END IF;
295 /*
296         FOR i in 1..lx_msg_count LOOP
297             fnd_msg_pub.get (p_msg_index => i,
298                              p_encoded => 'F',
299                              p_data => lx_msg_data,
300                              p_msg_index_out => l_msg_index_out);
301 
302             FND_FILE.PUT_LINE (FND_FILE.OUTPUT,to_char(i) || ': ' || lx_msg_data);
303         END LOOP;
304 */
305     EXCEPTION
306     WHEN OTHERS THEN
307         FND_FILE.PUT_LINE (FND_FILE.OUTPUT,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
308 
309         FND_FILE.PUT_LINE (FND_FILE.LOG,'Error '||TO_CHAR(SQLCODE)||': '||SQLERRM);
310     END;
311 
312 
313 EXCEPTION
314     WHEN OTHERS THEN
315          NULL ;
316 END create_adjustments_conc;
317 
318 END OKL_CREATE_ADJST_PUB;