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