[Home] [Help]
PACKAGE BODY: APPS.IEX_WRITEOFF_OBJECTS_PVT
Source
1 PACKAGE BODY IEX_WRITEOFF_OBJECTS_PVT as
2 /* $Header: iexvwobb.pls 120.1 2007/10/31 12:30:14 ehuh ship $ */
3
4 PG_DEBUG NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5 -- Start of Comments
6 -- Package name : IEX_writeoff_objects_PVT
7 -- Purpose :
8 -- History :
9 -- NOTE :
10 -- End of Comments
11
12
13
14 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexvwobb.pls';
15
16 --private procedure
17 /**Name AddMissingArgMsg
18 **Appends to a message the api name, parameter name and parameter Value
19 */
20
21 PROCEDURE AddMissingArgMsg
22 ( p_api_name IN VARCHAR2,
23 p_param_name IN VARCHAR2 )IS
24 BEGIN
25 fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
26 fnd_message.set_token('API_NAME', p_api_name);
27 fnd_message.set_token('MISSING_PARAM', p_param_name);
28 fnd_msg_pub.add;
29
30 END AddMissingArgMsg;
31
32
33 PROCEDURE create_writeoff_objects(
34 P_Api_Version_Number IN NUMBER,
35 P_Init_Msg_List IN VARCHAR2,
36 P_Commit IN VARCHAR2,
37 P_writeoff_obj_rec IN writeoff_obj_rec_Type
38 ,X_writeoff_object_id OUT NOCOPY NUMBER
39 ,x_return_status OUT NOCOPY VARCHAR2
40 ,x_msg_count OUT NOCOPY NUMBER
41 ,x_msg_data OUT NOCOPY VARCHAR2) IS
42
43 l_api_name CONSTANT VARCHAR2(50) := 'CREATE_WRITEOFF_OBJECTS';
44 l_api_name_full CONSTANT VARCHAR2(150) := g_pkg_name || '.' || l_api_name;
45 l_api_version_number CONSTANT NUMBER := 2.0;
46 v_writeoff_object_id IEX_writeoff_objects.writeoff_object_id%TYPE;
47 v_object_version_number IEX_writeoff_objects.object_version_number%TYPE;
48 v_rowid VARCHAR2(24);
49
50 Cursor c2 is SELECT IEX_writeoff_objects_S.nextval from dual;
51
52 BEGIN
53 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
54 IEX_DEBUG_PUB.LogMessage ('** Start of Procedure =>'||
55 'IEX_writeoff_objects_PVT.create_writeoff_objects *** ');
56 END IF;
57 -- Standard Start of API savepoint
58 SAVEPOINT CREATE_WRITEOFF_OBJECTS_PVT;
59
60 -- Standard call to check for call compatibility.
61 IF NOT FND_API.Compatible_API_Call ( l_api_version_number, p_api_version_number,
62 l_api_name, G_PKG_NAME) then
63 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
64 END IF;
65 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
66 IEX_DEBUG_PUB.LogMessage('After Compatibility Check');
67 END IF;
68
69 IF FND_API.to_Boolean( p_init_msg_list )
70 THEN
71 FND_MSG_PUB.initialize;
72 END IF;
73
74 x_return_status := FND_API.G_RET_STS_SUCCESS;
75 -- ******************************************************************
76 -- Validate Environment
77 -- ******************************************************************
78 IF FND_GLOBAL.User_Id IS NULL
79 THEN
80 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
81 THEN
82 FND_MESSAGE.Set_Name('IEX', 'IEX_CANNOT_GET_PROFILE_VALUE');
83 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
84 FND_MSG_PUB.ADD;
85 END IF;
86 RAISE FND_API.G_EXC_ERROR;
87 END IF;
88 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
89 IEX_DEBUG_PUB.LogMessage('After Global user Check');
90 END IF;
91
92
93 v_object_version_number :=1;
94
95 OPEN C2;
96 FETCH C2 INTO v_writeoff_object_id;
97 CLOSE C2;
98
99 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
100 IEX_DEBUG_PUB.LogMessage('writeoff_object_id is => '||v_writeoff_object_id);
101 END IF;
102
103 IF (p_writeoff_obj_rec.writeoff_id IS NULL) THEN
104 AddMissingArgMsg(p_api_name => l_api_name_full,
105 p_param_name => 'writeoff_id' );
106 RAISE FND_API.G_EXC_ERROR;
107 END IF;
108
109 IF (p_writeoff_obj_rec.adjustment_amount IS NULL) THEN
110 AddMissingArgMsg(p_api_name => l_api_name_full,
111 p_param_name => 'adjustment_amount' );
112 RAISE FND_API.G_EXC_ERROR;
113 END IF;
114
115 IF (p_writeoff_obj_rec.transaction_id IS NULL) THEN
116 AddMissingArgMsg(p_api_name => l_api_name_full,
117 p_param_name => 'transaction_id' );
118 RAISE FND_API.G_EXC_ERROR;
119 END IF;
120
121 IF (p_writeoff_obj_rec.adjustment_reason_code IS NULL) THEN
122 AddMissingArgMsg(p_api_name => l_api_name_full,
123 p_param_name => 'adjustment_reason_code' );
124 RAISE FND_API.G_EXC_ERROR;
125 END IF;
126
127
128 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
129 IEX_DEBUG_PUB.LogMessage('Before Calling iex_writeoff_objects_pkg.insert_row');
130 END IF;
131
132 IEX_writeoff_objects_PKG.Insert_Row(
133 x_rowid => v_rowid,
134 x_WRITEOFF_OBJECT_ID => v_writeoff_object_id,
135 x_WRITEOFF_ID => p_writeoff_obj_rec.WRITEOFF_ID,
136 x_OBJECT_VERSION_NUMBER => v_OBJECT_VERSION_NUMBER,
137 x_CONTRACT_ID => p_writeoff_obj_rec.CONTRACT_ID,
138 x_CONS_INVOICE_ID => p_writeoff_obj_rec.CONS_INVOICE_ID,
139 x_CONS_INVOICE_LINE_ID => p_writeoff_obj_rec.CONS_INVOICE_LINE_ID,
140 x_TRANSACTION_ID => p_writeoff_obj_rec.TRANSACTION_ID,
141 x_ADJUSTMENT_AMOUNT => p_writeoff_obj_rec.ADJUSTMENT_AMOUNT,
142 x_ADJUSTMENT_REASON_CODE => p_writeoff_obj_rec.adjustment_reason_code,
143 x_RECEVIABLES_ADJUSTMENT_ID => p_writeoff_obj_rec.RECEVIABLES_ADJUSTMENT_ID,
144 x_REQUEST_ID => p_writeoff_obj_rec.REQUEST_ID,
145 x_PROGRAM_APPLICATION_ID => p_writeoff_obj_rec.PROGRAM_APPLICATION_ID,
146 x_PROGRAM_ID => p_writeoff_obj_rec.PROGRAM_ID,
147 x_PROGRAM_UPDATE_DATE => p_writeoff_obj_rec.PROGRAM_UPDATE_DATE,
148 x_ATTRIBUTE_CATEGORY => p_writeoff_obj_rec.ATTRIBUTE_CATEGORY,
149 x_ATTRIBUTE1 => p_writeoff_obj_rec.ATTRIBUTE1,
150 x_ATTRIBUTE2 => p_writeoff_obj_rec.ATTRIBUTE2,
151 x_ATTRIBUTE3 => p_writeoff_obj_rec.ATTRIBUTE3,
152 x_ATTRIBUTE4 => p_writeoff_obj_rec.ATTRIBUTE4,
153 x_ATTRIBUTE5 => p_writeoff_obj_rec.ATTRIBUTE5,
154 x_ATTRIBUTE6 => p_writeoff_obj_rec.ATTRIBUTE6,
155 x_ATTRIBUTE7 => p_writeoff_obj_rec.ATTRIBUTE7,
156 x_ATTRIBUTE8 => p_writeoff_obj_rec.ATTRIBUTE8,
157 x_ATTRIBUTE9 => p_writeoff_obj_rec.ATTRIBUTE9,
158 x_ATTRIBUTE10 => p_writeoff_obj_rec.ATTRIBUTE10,
159 x_ATTRIBUTE11 => p_writeoff_obj_rec.ATTRIBUTE11,
160 x_ATTRIBUTE12 => p_writeoff_obj_rec.ATTRIBUTE12,
161 x_ATTRIBUTE13 => p_writeoff_obj_rec.ATTRIBUTE13,
162 x_ATTRIBUTE14 => p_writeoff_obj_rec.ATTRIBUTE14,
163 x_ATTRIBUTE15 => p_writeoff_obj_rec.ATTRIBUTE15,
164 x_CREATED_BY => FND_GLOBAL.USER_ID,
165 X_CREATION_DATE => SYSDATE,
166 x_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
167 X_LAST_UPDATE_DATE => SYSDATE,
168 x_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
169 x_WRITEOFF_STATUS => p_writeoff_obj_rec.WRITEOFF_STATUS,
170 x_WRITEOFF_TYPE_ID => p_writeoff_obj_rec.WRITEOFF_TYPE_ID,
171 x_WRITEOFF_TYPE => p_writeoff_obj_rec.WRITEOFF_TYPE,
172 x_customer_trx_id => p_writeoff_obj_rec.customer_trx_id,
173 x_customer_trx_line_id => p_writeoff_obj_rec.customer_trx_line_id);
174
175
176 x_writeoff_object_id := v_writeoff_object_id;
177 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
178 IEX_DEBUG_PUB.LogMessage('After Calling iex_writeoff_objects_pkg.insert_row'||
179 'and writeoff_object_id => '||x_writeoff_object_id);
180 END IF;
181
182
183
184 -- Check return status from the above procedure call
185 IF x_return_status = FND_API.G_RET_STS_ERROR then
186 raise FND_API.G_EXC_ERROR;
187 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
188 raise FND_API.G_EXC_UNEXPECTED_ERROR;
189 END IF;
190
191 --
192 -- End of API body.
193 --
194
195 -- Standard check for p_commit
196 IF FND_API.to_Boolean( p_commit )
197 THEN
198 COMMIT WORK;
199 END IF;
200
201 -- Standard call to get message count and if count is 1, get message info.
202 FND_MSG_PUB.Count_And_Get
203 ( p_count => x_msg_count,
204 p_data => x_msg_data
205 );
206
207 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
208 IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_writeoff_objects_PVT.create_writeoff_objects ******** ');
209 END IF;
210 EXCEPTION
211 WHEN FND_API.G_EXC_ERROR THEN
212 ROLLBACK TO CREATE_WRITEOFF_OBJECTS_PVT;
213 x_return_status := FND_API.G_RET_STS_ERROR ;
214 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
215 p_data => x_msg_data);
216 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
217 ROLLBACK TO CREATE_WRITEOFF_OBJECTS_PVT;
218 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
219 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
220 p_data => x_msg_data);
221
222 WHEN OTHERS THEN
223 ROLLBACK TO CREATE_WRITEOFF_OBJECTS_PVT;
224 x_return_status := FND_API.G_RET_STS_ERROR ;
225 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name);
226 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
227 p_data => x_msg_data);
228
229 End create_writeoff_objects;
230
231
232
233 PROCEDURE update_writeoff_objects(
234 P_Api_Version_Number IN NUMBER,
235 P_Init_Msg_List IN VARCHAR2,
236 P_Commit IN VARCHAR2,
237 P_writeoff_obj_rec IN writeoff_obj_rec_Type,
238 x_return_status OUT NOCOPY VARCHAR2
239 ,x_msg_count OUT NOCOPY NUMBER
240 ,x_msg_data OUT NOCOPY VARCHAR2
241 ,XO_OBJECT_VERSION_NUMBER OUT NOCOPY NUMBER
242 )
243
244 IS
245 l_api_name CONSTANT VARCHAR2(60) := 'UPDATE_WRITEOFF_OBJECTS';
246 l_api_version_number CONSTANT NUMBER := 2.0;
247 v_object_version_number IEX_writeoff_objects.object_version_number%TYPE
248 :=p_writeoff_obj_rec.object_version_number;
249
250 BEGIN
251 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
252 IEX_DEBUG_PUB.LogMessage ('** Start of Procedure =>'||
253 'IEX_writeoff_objects_PVT.update_writeoff_objects *** ');
254 END IF;
255
256 -- Standard Start of API savepoint
257 SAVEPOINT UPDATE_WRITEOFF_OBJECTS_PVT;
258
259 -- Standard call to check for call compatibility.
260 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
261 p_api_version_number,
262 l_api_name,
263 G_PKG_NAME)
264 THEN
265 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
266 END IF;
267
268
269 -- Initialize message list if p_init_msg_list is set to TRUE.
270 IF FND_API.to_Boolean( p_init_msg_list )
271 THEN
272 FND_MSG_PUB.initialize;
273 END IF;
274
275 -- Initialize API return status to SUCCESS
276 x_return_status := FND_API.G_RET_STS_SUCCESS;
277
278 --
279 -- API body
280 --
281
282 -- Debug Message
283 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
284 IEX_DEBUG_PUB.LogMessage('Before Calling iex_writeoff_objects_pkg.lock_row');
285 END IF;
286 -- Invoke table handler(IEX_writeoff_objects_PKG.Update_Row)
287 -- call locking table handler
288 IEX_writeoff_objects_PKG.lock_row (
289 p_writeoff_obj_rec.writeoff_object_id,
290 v_object_version_number
291 );
292
293 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
294 IEX_DEBUG_PUB.LogMessage('Before Calling iex_writeoff_objects_pkg.update_row');
295 END IF;
296
297 IEX_writeoff_objects_PKG.Update_Row(
298 x_WRITEOFF_OBJECT_ID => p_writeoff_obj_rec.writeoff_object_id,
299 x_WRITEOFF_ID => p_writeoff_obj_rec.WRITEOFF_ID,
300 x_OBJECT_VERSION_NUMBER => v_OBJECT_VERSION_NUMBER + 1,
301 x_CONTRACT_ID => p_writeoff_obj_rec.CONTRACT_ID,
302 x_CONS_INVOICE_ID => p_writeoff_obj_rec.CONS_INVOICE_ID,
303 x_CONS_INVOICE_LINE_ID => p_writeoff_obj_rec.CONS_INVOICE_LINE_ID,
304 x_TRANSACTION_ID => p_writeoff_obj_rec.TRANSACTION_ID,
305 x_ADJUSTMENT_AMOUNT => p_writeoff_obj_rec.ADJUSTMENT_AMOUNT,
306 x_ADJUSTMENT_REASON_CODE => p_writeoff_obj_rec.adjustment_reason_code,
307 x_RECEVIABLES_ADJUSTMENT_ID => p_writeoff_obj_rec.RECEVIABLES_ADJUSTMENT_ID,
308 x_REQUEST_ID => p_writeoff_obj_rec.REQUEST_ID,
309 x_PROGRAM_APPLICATION_ID => p_writeoff_obj_rec.PROGRAM_APPLICATION_ID,
310 x_PROGRAM_ID => p_writeoff_obj_rec.PROGRAM_ID,
311 x_PROGRAM_UPDATE_DATE => p_writeoff_obj_rec.PROGRAM_UPDATE_DATE,
312 x_ATTRIBUTE_CATEGORY => p_writeoff_obj_rec.ATTRIBUTE_CATEGORY,
313 x_ATTRIBUTE1 => p_writeoff_obj_rec.ATTRIBUTE1,
314 x_ATTRIBUTE2 => p_writeoff_obj_rec.ATTRIBUTE2,
315 x_ATTRIBUTE3 => p_writeoff_obj_rec.ATTRIBUTE3,
316 x_ATTRIBUTE4 => p_writeoff_obj_rec.ATTRIBUTE4,
317 x_ATTRIBUTE5 => p_writeoff_obj_rec.ATTRIBUTE5,
318 x_ATTRIBUTE6 => p_writeoff_obj_rec.ATTRIBUTE6,
319 x_ATTRIBUTE7 => p_writeoff_obj_rec.ATTRIBUTE7,
320 x_ATTRIBUTE8 => p_writeoff_obj_rec.ATTRIBUTE8,
321 x_ATTRIBUTE9 => p_writeoff_obj_rec.ATTRIBUTE9,
322 x_ATTRIBUTE10 => p_writeoff_obj_rec.ATTRIBUTE10,
323 x_ATTRIBUTE11 => p_writeoff_obj_rec.ATTRIBUTE11,
324 x_ATTRIBUTE12 => p_writeoff_obj_rec.ATTRIBUTE12,
325 x_ATTRIBUTE13 => p_writeoff_obj_rec.ATTRIBUTE13,
326 x_ATTRIBUTE14 => p_writeoff_obj_rec.ATTRIBUTE14,
327 x_ATTRIBUTE15 => p_writeoff_obj_rec.ATTRIBUTE15,
328 x_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
329 X_LAST_UPDATE_DATE => SYSDATE,
330 x_LAST_UPDATE_LOGIN => FND_GLOBAL.CONC_LOGIN_ID,
331 x_WRITEOFF_STATUS => p_writeoff_obj_rec.WRITEOFF_STATUS,
332 x_WRITEOFF_TYPE_ID => p_writeoff_obj_rec.WRITEOFF_TYPE_ID,
333 x_WRITEOFF_TYPE => p_writeoff_obj_rec.WRITEOFF_TYPE,
334 x_customer_trx_id => p_writeoff_obj_rec.customer_trx_id,
335 x_customer_trx_line_id => p_writeoff_obj_rec.customer_trx_line_id);
336
337
338 --Return Version number
339 xo_object_version_number := v_object_version_number + 1;
340 -- Check return status from the above procedure call
341 IF x_return_status = FND_API.G_RET_STS_ERROR then
342 raise FND_API.G_EXC_ERROR;
343 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
344 raise FND_API.G_EXC_UNEXPECTED_ERROR;
345 END IF;
346
347 --
348 -- End of API body
349 --
350
351 -- Standard check for p_commit
352 IF FND_API.to_Boolean( p_commit )
353 THEN
354 COMMIT WORK;
355 END IF;
356
357
358 -- Standard call to get message count and if count is 1, get message info.
359 FND_MSG_PUB.Count_And_Get
360 ( p_count => x_msg_count,
361 p_data => x_msg_data
362 );
363 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
364 IEX_DEBUG_PUB.LogMessage ('**** End of Procedure =>'||
365 'IEX_writeoff_objects_PVT.update_writeoff_objects ** ');
366 END IF;
367 EXCEPTION
368 WHEN FND_API.G_EXC_ERROR THEN
369 ROLLBACK TO UPDATE_WRITEOFF_OBJECTS_PVT;
370 x_return_status := FND_API.G_RET_STS_ERROR ;
371 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
372 p_data => x_msg_data);
373 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
374 ROLLBACK TO UPDATE_WRITEOFF_OBJECTS_PVT;
375 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
376 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
377 p_data => x_msg_data);
378
379 WHEN OTHERS THEN
380 ROLLBACK TO UPDATE_WRITEOFF_OBJECTS_PVT;
381 x_return_status := FND_API.G_RET_STS_ERROR ;
382 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name);
383 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
384 p_data => x_msg_data);
385
386 End update_writeoff_objects;
387
388
389
390 PROCEDURE delete_writeoff_objects(
391 P_Api_Version_Number IN NUMBER,
392 P_Init_Msg_List IN VARCHAR2,
393 P_Commit IN VARCHAR2,
394 P_writeoff_object_id IN NUMBER,
395 x_return_status OUT NOCOPY VARCHAR2
396 ,x_msg_count OUT NOCOPY NUMBER
397 ,x_msg_data OUT NOCOPY VARCHAR2 )
398
399 IS
400 l_api_name CONSTANT VARCHAR2(50) := 'DELETE_WRITEOFF_OBJECTS';
401 l_api_version_number CONSTANT NUMBER := 2.0;
402
403 BEGIN
404 -- Standard Start of API savepoint
405 SAVEPOINT DELETE_WRITEOFF_OBJECTS_PVT;
406
407 -- Standard call to check for call compatibility.
408 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
409 p_api_version_number,
410 l_api_name,
411 G_PKG_NAME)
412 THEN
413 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
414 END IF;
415
416
417 -- Initialize message list if p_init_msg_list is set to TRUE.
418 IF FND_API.to_Boolean( p_init_msg_list )
419 THEN
420 FND_MSG_PUB.initialize;
421 END IF;
422
423
424 -- Initialize API return status to SUCCESS
425 x_return_status := FND_API.G_RET_STS_SUCCESS;
426 --
427 -- API body
428 --
429
430 -- call table handler to insert into jtf_tasks_temp_groups
431 iex_writeoff_objects_pkg.delete_row (p_writeoff_object_id);
432
433 -- Check return status from the above procedure call
434 IF x_return_status = FND_API.G_RET_STS_ERROR then
435 raise FND_API.G_EXC_ERROR;
436 elsif x_return_status = FND_API.G_RET_STS_UNEXP_ERROR then
437 raise FND_API.G_EXC_UNEXPECTED_ERROR;
438 END IF;
439
440 --
441 -- End of API body
442 --
443
444 -- Standard check for p_commit
445 IF FND_API.to_Boolean( p_commit )
446 THEN
447 COMMIT WORK;
448 END IF;
449
450
451 -- Standard call to get message count and if count is 1, get message info.
452 FND_MSG_PUB.Count_And_Get
453 ( p_count => x_msg_count,
454 p_data => x_msg_data
455 );
456 EXCEPTION
457 WHEN FND_API.G_EXC_ERROR THEN
458 ROLLBACK TO DELETE_WRITEOFF_OBJECTS_PVT;
459 x_return_status := FND_API.G_RET_STS_ERROR ;
460 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
461 p_data => x_msg_data);
462 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
463 ROLLBACK TO DELETE_WRITEOFF_OBJECTS_PVT;
464 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
465 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
466 p_data => x_msg_data);
467
468 WHEN OTHERS THEN
469 ROLLBACK TO DELETE_WRITEOFF_OBJECTS_PVT;
470 x_return_status := FND_API.G_RET_STS_ERROR ;
471 FND_MSG_PUB.ADD_EXC_MSG(G_PKG_NAME,l_api_name);
472 FND_MSG_PUB.Count_And_Get( p_count => x_msg_count,
473 p_data => x_msg_data);
474
475 End delete_writeoff_objects;
476
477
478 End IEX_WRITEOFF_OBJECTS_PVT;