DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEX_DISPUTE_PUB

Source


1 PACKAGE BODY IEX_DISPUTE_PUB AS
2 /* $Header: iexpdisb.pls 120.7 2008/05/28 14:14:08 gnramasa ship $ */
3 
4 G_PKG_NAME  CONSTANT VARCHAR2(30):= 'IEX_DISPUTE_PUB';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexpdisb.pls';
6 
7 --PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
8 PG_DEBUG NUMBER; --  := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
9 --Added parameters p_skip_workflow_flag and p_dispute_date
10 --for bug#6347547 by schekuri on 08-Nov-2007
11 -- Bug #6777367 bibeura 28-Jan-2008 Added parameter p_batch_source_name
12 PROCEDURE Create_Dispute(p_api_version     IN NUMBER,
13                          p_init_msg_list   IN VARCHAR2,
14                          p_commit          IN VARCHAR2,
15                          p_disp_header_rec IN IEX_DISPUTE_PUB.DISP_HEADER_REC,
16                          p_disp_line_tbl   IN IEX_DISPUTE_PUB.DISPUTE_LINE_TBL,
17 			 x_request_id      OUT NOCOPY NUMBER,
18                          x_return_status   OUT NOCOPY VARCHAR2,
19                          x_msg_count       OUT NOCOPY NUMBER,
20                          x_msg_data        OUT NOCOPY VARCHAR2,
21 			 p_skip_workflow_flag   IN VARCHAR2    DEFAULT 'N',
22 			 p_batch_source_name    IN VARCHAR2    DEFAULT NULL,
23 			 p_dispute_date	IN DATE	DEFAULT NULL) IS
24 
25 l_api_name           VARCHAR2(50); --  := 'create_dispute';
26 l_api_version_number NUMBER; -- := 1;
27 l_request_id         NUMBER;
28 l_status             VARCHAR(20);
29 l_init_msg_list      varchar2(10); -- := p_init_msg_list;
30 l_commit             varchar2(10); -- := p_commit;
31 
32 l_return_status      VARCHAR2(10); -- := x_return_status;
33 l_msg_count          NUMBER; --   := x_msg_count;
34 l_msg_data           VARCHAR2(100); --  := x_msg_data;
35 
36 l_disp_header_rec    IEX_DISPUTE_PUB.DISP_HEADER_REC; --  := p_disp_header_rec;
37 l_disp_line_tbl      IEX_DISPUTE_PUB.DISPUTE_LINE_TBL; -- := p_disp_line_tbl;
38 
39 BEGIN
40       l_api_name           := 'create_dispute';
41       l_api_version_number := 1;
42       l_init_msg_list      := p_init_msg_list;
43       l_commit             := p_commit;
44       l_return_status      := x_return_status;
45       l_msg_count          := x_msg_count;
46       l_msg_data           := x_msg_data;
47       l_disp_header_rec    := p_disp_header_rec;
48       l_disp_line_tbl      := p_disp_line_tbl;
49 
50       -- Standard Start of API savepoint
51       SAVEPOINT create_dispute_pub;
52 
53         -- Initialize API return status to SUCCESS
54       x_return_status := FND_API.G_RET_STS_SUCCESS;
55 
56       -- Standard call to check for call compatibility.
57       IF NOT FND_API.Compatible_API_Call (l_api_version_number,
58                                           p_api_version,
59                                           l_api_name,
60                                           G_PKG_NAME)
61       THEN
62           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
63       END IF;
64 
65       -- Initialize message list if p_init_msg_list is set to TRUE.
66       IF FND_API.to_Boolean( p_init_msg_list )
67       THEN
68           FND_MSG_PUB.initialize;
69       END IF;
70 
71       -- Debug Message
72 --      IF PG_DEBUG < 10  THEN
73       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
74          IEX_DEBUG_PUB.logMessage('Create_Dispute: ' || 'PVT: ' || l_api_name || ' start');
75       END IF;
76 
77       --
78       -- API body
79       --
80       IEX_DISPUTE_PVT.Create_Dispute(p_api_version           => l_api_version_number,
81                                      p_init_msg_list         => l_init_msg_list,
82                                      p_commit                => l_commit,
83                                      p_disp_header_rec       => l_disp_header_rec,
84                                      p_disp_line_tbl         => l_disp_line_tbl,
85 				     p_skip_workflow_flag    => p_skip_workflow_flag,
86 				     p_batch_source_name     => p_batch_source_name,
87 				     p_dispute_date	     => p_dispute_date,
88                                      x_request_id            => l_request_id,
89                                      x_return_status         => l_return_status ,
90                                      x_msg_count             => l_msg_count,
91                                      x_msg_data              => l_msg_data);
92       x_request_id    := l_request_id;
93       x_return_status := l_return_status ;
94       x_msg_count     := l_msg_count ;
95       x_msg_data      := l_msg_data ;
96 
97       -- TEST TO CATCH ERROR HERE
98       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
99           FND_MESSAGE.SET_NAME('IEX', 'IEX_DISPUTE_FAILED');
100           FND_MSG_PUB.Add;
101           x_return_status := FND_API.G_RET_STS_ERROR;
102           RAISE FND_API.G_EXC_ERROR;
103 
104       END IF ;
105 
106      -- End of API body
107 
108      IF FND_API.to_Boolean(p_commit) THEN
109         COMMIT WORK;
110      END IF;
111 
112      -- Debug Message
113 --     IF PG_DEBUG < 10  THEN
114      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
115         IEX_DEBUG_PUB.logMessage('Create_Dispute: ' || 'PVT: ' || l_api_name || ' end');
116      END IF;
117 
118       -- Standard call to get message count and if count is 1, get message info.
119       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
120                                 p_data  => x_msg_data);
121 
122 
123       EXCEPTION
124     WHEN FND_API.G_EXC_ERROR THEN
125       ROLLBACK TO create_dispute_pub;
126         x_return_status := FND_API.G_RET_STS_ERROR;
127         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
128     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
129       ROLLBACK TO create_dispute_pub;
130         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
131         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
132     WHEN OTHERS THEN
133       ROLLBACK TO create_dispute_pub;
134         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
135         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
136         THEN
137           FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
138         END IF;
139         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
140 
141 END create_dispute;
142 
143 
144 PROCEDURE is_delinquency_dispute(p_api_version         IN  NUMBER,
145                                  p_init_msg_list       IN  VARCHAR2,
146                                  p_delinquency_id      IN  NUMBER,
147                                  x_return_status       OUT NOCOPY VARCHAR2,
148                                  x_msg_count           OUT NOCOPY NUMBER,
149                                  x_msg_data            OUT NOCOPY VARCHAR2) IS
150 
151 l_api_name           VARCHAR2(50); --  := 'is_delinquency_dispute';
152 l_api_version_number NUMBER := 1.0;
153 l_delinquency_id     NUMBER; -- := p_delinquency_id;
154 l_count              NUMBER := 0 ;
155 l_status             VARCHAR(20) ;
156 x                    varchar2(2000);
157 l_return_status      VARCHAR2(10);
158 l_msg_count          NUMBER;
159 l_msg_data           VARCHAR2(100);
160 l_init_msg_list      varchar2(10); -- := p_init_msg_list;
161 
162 BEGIN
163 
164       l_init_msg_list   := p_init_msg_list;
165       l_delinquency_id  := p_delinquency_id;
166       l_api_name        := 'is_delinquency_dispute';
167       -- Standard Start of API savepoint
168       SAVEPOINT is_delinquency_pvt;
169 
170       -- Initialize API return status to SUCCESS
171       x_return_status := FND_API.G_RET_STS_SUCCESS;
172 
173       -- Standard call to check for call compatibility.
174       IF NOT FND_API.Compatible_API_Call (l_api_version_number,
175                                           p_api_version,
176                                           l_api_name,
177                                           G_PKG_NAME)
178       THEN
179           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
180       END IF;
181 
182       -- Initialize message list if p_init_msg_list is set to TRUE.
183       IF FND_API.to_Boolean( p_init_msg_list )
184       THEN
185           FND_MSG_PUB.initialize;
186       END IF;
187 
188       -- Debug Message
189 --      IF PG_DEBUG < 10  THEN
190       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
191          IEX_DEBUG_PUB.logMessage('is_delinquency_dispute: ' || 'PVT: ' || l_api_name || ' start');
192       END IF;
193 
194       --
195       -- API body
196       --
197       IEX_DISPUTE_PVT.is_delinquency_dispute(p_api_version        => l_api_version_number,
198                                              p_init_msg_list      => l_init_msg_list,
199                                              p_delinquency_id     => l_delinquency_id,
200                                              x_return_status      => l_return_status,
201                                              x_msg_count          => l_msg_count,
202                                              x_msg_data           => l_msg_data );
203 
204       x_return_status := l_return_status ;
205       x_msg_count  := l_msg_count ;
206       x_msg_data   := l_msg_data ;
207 
208       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
209           FND_MESSAGE.SET_NAME('IEX', 'IEX_DISPUTE_DELINQUENT_FAILED');
210           FND_MSG_PUB.Add;
211           x_return_status := FND_API.G_RET_STS_ERROR;
212           RAISE FND_API.G_EXC_ERROR;
213 
214       END IF ;
215 
216      -- End of API body
217 
218      -- Debug Message
219 --     IF PG_DEBUG < 10  THEN
220      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
221         IEX_DEBUG_PUB.logMessage('is_delinquency_dispute: ' || 'PVT: ' || l_api_name || ' end');
222      END IF;
223 
224       -- Standard call to get message count and if count is 1, get message info.
225       FND_MSG_PUB.Count_And_Get
226       (  p_count          =>   x_msg_count,
227          p_data           =>   x_msg_data
228       );
229 
230       EXCEPTION
231     WHEN FND_API.G_EXC_ERROR THEN
232       ROLLBACK TO is_delinquency_pvt;
233         x_return_status := FND_API.G_RET_STS_ERROR;
234         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
235     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
236       ROLLBACK TO is_delinquency_pvt;
237         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
238         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
239     WHEN OTHERS THEN
240       ROLLBACK TO is_delinquency_pvt;
241         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
242         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
243         THEN
244           FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
245         END IF;
246         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
247 
248 END is_delinquency_dispute;
249 
250 --Start bug 6856035 gnramasa 28th May 08
251 PROCEDURE CANCEL_DISPUTE (p_api_version     IN NUMBER,
252                           p_commit          IN VARCHAR2,
253 			  p_dispute_id      IN NUMBER,
254 			  p_cancel_comments IN VARCHAR2,
255                           x_return_status   OUT NOCOPY VARCHAR2,
256                           x_msg_count       OUT NOCOPY NUMBER,
257                           x_msg_data        OUT NOCOPY VARCHAR2) IS
258 
259 l_api_name           VARCHAR2(50); --  := 'cancel_dispute';
260 l_api_version_number NUMBER; -- := 1;
261 l_dispute_id         NUMBER;
262 l_status             VARCHAR(20);
263 l_commit             varchar2(10); -- := p_commit;
264 errmsg               VARCHAR2(32767);
265 
266 l_return_status      VARCHAR2(10); -- := x_return_status;
267 l_msg_count          NUMBER; --   := x_msg_count;
268 l_msg_data           VARCHAR2(100); --  := x_msg_data;
269 
270 BEGIN
271       l_api_name           := 'Cancel_dispute';
272       l_api_version_number := 1;
273       l_commit             := p_commit;
274       l_return_status      := x_return_status;
275       l_msg_count          := x_msg_count;
276       l_msg_data           := x_msg_data;
277       l_dispute_id         := p_dispute_id;
278 
279       -- Standard Start of API savepoint
280       SAVEPOINT cancel_dispute_pub;
281 
282         -- Initialize API return status to SUCCESS
283       x_return_status := FND_API.G_RET_STS_SUCCESS;
284 
285       -- Standard call to check for call compatibility.
286       IF NOT FND_API.Compatible_API_Call (l_api_version_number,
287                                           p_api_version,
288                                           l_api_name,
289                                           G_PKG_NAME)
290       THEN
291           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
292       END IF;
293 
294       IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
295          IEX_DEBUG_PUB.logMessage('Cancel_Dispute: ' || 'PVT: ' || l_api_name || ' start');
296       END IF;
297 
298       --
299       -- API body
300       --
301       IEX_DISPUTE_PVT.Cancel_Dispute( p_api_version     => l_api_version_number,
302 				      p_commit          => l_commit,
303 				      p_dispute_id      => l_dispute_id,
304 			              p_cancel_comments => p_cancel_comments,
305                                       x_return_status   => l_return_status ,
306                                       x_msg_count       => l_msg_count,
307                                       x_msg_data        => l_msg_data);
308 
309       x_return_status := l_return_status ;
310       x_msg_count     := l_msg_count ;
311       x_msg_data      := l_msg_data ;
312 
313       -- TEST TO CATCH ERROR HERE
314       IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
315           IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
316 		IEX_DEBUG_PUB.logMessage('CANCEL_DISPUTE:  - exception');
317 		errmsg := SQLERRM;
318 		IEX_DEBUG_PUB.logMessage('CANCEL_DISPUTE:  - errmsg='||errmsg);
319 	  END IF;
320           x_return_status := FND_API.G_RET_STS_ERROR;
321           RAISE FND_API.G_EXC_ERROR;
322 
323       END IF ;
324 
325      -- End of API body
326 
327      IF FND_API.to_Boolean(p_commit) THEN
328         COMMIT WORK;
329      END IF;
330 
331      -- Debug Message
332 --     IF PG_DEBUG < 10  THEN
333      IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
334         IEX_DEBUG_PUB.logMessage('Cancel_Dispute: ' || 'PVT: ' || l_api_name || ' end');
335      END IF;
336 
337       -- Standard call to get message count and if count is 1, get message info.
338       FND_MSG_PUB.Count_And_Get(p_count => x_msg_count,
339                                 p_data  => x_msg_data);
340 
341 
342       EXCEPTION
343     WHEN FND_API.G_EXC_ERROR THEN
344       ROLLBACK TO cancel_dispute_pub;
345         x_return_status := FND_API.G_RET_STS_ERROR;
346         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
347     WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
348       ROLLBACK TO cancel_dispute_pub;
349         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
350         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
351     WHEN OTHERS THEN
352       ROLLBACK TO cancel_dispute_pub;
353         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
354         IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
355         THEN
356           FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
357         END IF;
358         FND_MSG_PUB.Count_And_Get(p_count => x_msg_count, p_data => x_msg_data);
359 
360 END cancel_dispute;
361 --End bug 6856035 gnramasa 28th May 08
362 
363 FUNCTION init_disp_rec RETURN DISP_HEADER_REC
364 AS
365 l_dispute_header_rec IEX_DISPUTE_PUB.DISP_HEADER_REC;
366 
367 BEGIN
368    RETURN l_dispute_header_rec;
369 
370 END init_disp_rec;
371 
372 FUNCTION init_disp_line_tbl RETURN DISPUTE_LINE_TBL
373 AS
374 l_dispute_line_tbl IEX_DISPUTE_PUB.DISPUTE_LINE_TBL;
375 
376 BEGIN
377    RETURN l_dispute_line_tbl;
378 
379 END init_disp_line_tbl;
380 begin
381   PG_DEBUG := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
382 
383 END IEX_DISPUTE_PUB ;