[Home] [Help]
PACKAGE BODY: APPS.IEX_COSTS_PVT
Source
1 PACKAGE BODY IEX_COSTS_PVT as
2 /* $Header: iexvcosb.pls 120.1 2006/05/30 21:13:45 scherkas noship $ */
3 -- Start of Comments
4 -- Package name : IEX_COSTS_PVT
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10
11
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IEX_COSTS_PVT';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'iexvcosb.pls';
14
15
16 -- Hint: Primary key needs to be returned.
17 --PG_DEBUG NUMBER(2) := TO_NUMBER(NVL(FND_PROFILE.value('IEX_DEBUG_LEVEL'), '20'));
18 PG_DEBUG NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
19
20 PROCEDURE Create_costs(
21 P_Api_Version_Number IN NUMBER,
22 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
23 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
24 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
25 P_costs_Rec IN costs_Rec_Type := G_MISS_costs_REC,
26 X_COST_ID OUT NOCOPY NUMBER,
27 X_Return_Status OUT NOCOPY VARCHAR2,
28 X_Msg_Count OUT NOCOPY NUMBER,
29 X_Msg_Data OUT NOCOPY VARCHAR2
30 )
31
32 IS
33 l_api_name CONSTANT VARCHAR2(30) := 'Create_costs';
34 l_api_version_number CONSTANT NUMBER := 2.0;
35 l_return_status_full VARCHAR2(1);
36 v_rowid VARCHAR2(24);
37 v_cost_id iex_costs.cost_id%TYPE;
38 v_object_version_number iex_costs.object_version_number%TYPE;
39 v_active_flag iex_costs.active_flag%TYPE;
40 v_cost_item_approved iex_costs.cost_item_approved%TYPE;
41
42 Cursor c2 is SELECT IEX_COSTS_S.nextval from dual;
43 BEGIN
44 -- IF PG_DEBUG < 10 THEN
45 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
46 IEX_DEBUG_PUB.LogMessage ('********* start of Procedure =>IEX_COSTS_PVT.Create_Costs ******** ');
47 END IF;
48 -- Standard Start of API savepoint
49 SAVEPOINT CREATE_COSTS_PVT;
50
51 -- Standard call to check for call compatibility.
52 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
53 p_api_version_number,
54 l_api_name,
55 G_PKG_NAME)
56 THEN
57 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
58 END IF;
59 -- IF PG_DEBUG < 10 THEN
60 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
61 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After Compatibility Check');
62 END IF;
63
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
72 -- Initialize API return status to SUCCESS
73 x_return_status := FND_API.G_RET_STS_SUCCESS;
74
75 --
76 -- API body
77 --
78 -- ******************************************************************
79 -- Validate Environment
80 -- ******************************************************************
81 IF FND_GLOBAL.User_Id IS NULL
82 THEN
83 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
84 THEN
85 FND_MESSAGE.Set_Name('IEX', 'IEX_CANNOT_GET_PROFILE_VALUE');
86 FND_MESSAGE.Set_Token('PROFILE', 'USER_ID', FALSE);
87 FND_MSG_PUB.ADD;
88 END IF;
89 RAISE FND_API.G_EXC_ERROR;
90 END IF;
91 -- IF PG_DEBUG < 10 THEN
92 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
93 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After Global user Check');
94 END IF;
95
96 --IF p_validation_level = FND_API.G_VALID_LEVEL_FULL THEN
97
98 --object version Number
99 v_object_version_number :=1;
100 --Active_flag
101 v_active_flag :='Y';
102
103 -- set cost_item_approved to 'Y'
104 IF ((p_costs_rec.cost_item_approved IS NULL) OR
105 (p_costs_rec.cost_item_approved = FND_API.G_MISS_CHAR)) THEN
106 v_cost_item_approved :='Y';
107 ELSE
108 v_cost_item_approved :=p_costs_rec.cost_item_approved;
109 End if;
110
111 -- get cost_id
112 OPEN C2;
113 FETCH C2 INTO v_cost_id;
114 CLOSE C2;
115 -- IF PG_DEBUG < 10 THEN
116 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
117 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After cost_id Check and cost_id is => '||v_cost_id);
118 END IF;
119
120 --check for case_id and delinquency id. Either one of them should be passed.
121 IF ((p_costs_rec.case_id IS NULL) OR (p_costs_rec.case_ID = FND_API.G_MISS_NUM))
122 AND
123 ((p_costs_rec.delinquency_id IS NULL) OR (p_costs_rec.delinquency_ID = FND_API.G_MISS_NUM))
124 THEN
125 fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
126 fnd_message.set_token('API_NAME', l_api_name);
127 fnd_message.set_token('MISSING_PARAM', 'case_id/delinquency_id');
128 fnd_msg_pub.add;
129 RAISE FND_API.G_EXC_ERROR;
130 END IF;
131 -- IF PG_DEBUG < 10 THEN
132 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
133 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After CASE ID and DELINQUENCY_ID Check ');
134 END IF;
135
136 --check for cost_type_code
137 IF (p_costs_rec.cost_type_code IS NULL) OR (p_costs_rec.cost_type_code = FND_API.G_MISS_CHAR) THEN
138 fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
139 fnd_message.set_token('API_NAME', l_api_name);
140 fnd_message.set_token('MISSING_PARAM', 'cost_type_code');
141 fnd_msg_pub.add;
142 RAISE FND_API.G_EXC_ERROR;
143 END IF;
144 -- IF PG_DEBUG < 10 THEN
145 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
146 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After cost_type_code Check ');
147 END IF;
148
149 --check for cost_item type_code
150 IF (p_costs_rec.cost_item_type_code IS NULL) OR (p_costs_rec.cost_item_type_code = FND_API.G_MISS_CHAR) THEN
151 fnd_message.set_name('IEX', 'IEX_API_ALL_MISSING_PARAM');
152 fnd_message.set_token('API_NAME', l_api_name);
153 fnd_message.set_token('MISSING_PARAM', 'cost_item_type_code');
154 fnd_msg_pub.add;
155 RAISE FND_API.G_EXC_ERROR;
156 END IF;
157 -- IF PG_DEBUG < 10 THEN
158 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
159 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After cost_item_type_code Check ');
160 END IF;
161
162
163 -- Invoke table handler(IEX_COSTS_PKG.Insert_Row)
164 IEX_COSTS_PKG.Insert_Row(
165 x_rowid =>v_rowid,
166 p_COST_ID => v_COST_ID,
167 p_CASE_ID => p_costs_rec.CASE_ID,
168 p_DELINQUENCY_ID => p_costs_rec.DELINQUENCY_ID,
169 p_COST_TYPE_CODE => p_costs_rec.COST_TYPE_CODE,
170 p_COST_ITEM_TYPE_CODE => p_costs_rec.COST_ITEM_TYPE_CODE,
171 p_COST_ITEM_TYPE_DESC => p_costs_rec.COST_ITEM_TYPE_DESC,
172 p_COST_ITEM_AMOUNT => p_costs_rec.COST_ITEM_AMOUNT,
173 p_COST_ITEM_CURRENCY_CODE => p_costs_rec.COST_ITEM_CURRENCY_CODE,
174 p_COST_ITEM_QTY => p_costs_rec.COST_ITEM_QTY,
175 p_COST_ITEM_DATE => p_costs_rec.COST_ITEM_DATE,
176 p_FUNCTIONAL_AMOUNT => p_costs_rec.FUNCTIONAL_AMOUNT,
177 p_EXCHANGE_TYPE => p_costs_rec.EXCHANGE_TYPE,
178 p_EXCHANGE_RATE => p_costs_rec.EXCHANGE_RATE,
179 p_EXCHANGE_DATE => p_costs_rec.EXCHANGE_DATE,
180 p_COST_ITEM_APPROVED => v_COST_ITEM_APPROVED,
181 p_ACTIVE_FLAG => v_ACTIVE_FLAG,
182 p_OBJECT_VERSION_NUMBER => v_OBJECT_VERSION_NUMBER,
183 p_CREATED_BY => FND_GLOBAL.USER_ID,
184 p_CREATION_DATE => SYSDATE,
185 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
186 p_LAST_UPDATE_DATE => SYSDATE,
187 p_REQUEST_ID => p_costs_rec.REQUEST_ID,
188 p_PROGRAM_APPLICATION_ID => p_costs_rec.PROGRAM_APPLICATION_ID,
189 p_PROGRAM_ID => p_costs_rec.PROGRAM_ID,
190 p_PROGRAM_UPDATE_DATE => p_costs_rec.PROGRAM_UPDATE_DATE,
191 p_ATTRIBUTE_CATEGORY => p_costs_rec.ATTRIBUTE_CATEGORY,
192 p_ATTRIBUTE1 => p_costs_rec.ATTRIBUTE1,
193 p_ATTRIBUTE2 => p_costs_rec.ATTRIBUTE2,
194 p_ATTRIBUTE3 => p_costs_rec.ATTRIBUTE3,
195 p_ATTRIBUTE4 => p_costs_rec.ATTRIBUTE4,
196 p_ATTRIBUTE5 => p_costs_rec.ATTRIBUTE5,
197 p_ATTRIBUTE6 => p_costs_rec.ATTRIBUTE6,
198 p_ATTRIBUTE7 => p_costs_rec.ATTRIBUTE7,
199 p_ATTRIBUTE8 => p_costs_rec.ATTRIBUTE8,
200 p_ATTRIBUTE9 => p_costs_rec.ATTRIBUTE9,
201 p_ATTRIBUTE10 => p_costs_rec.ATTRIBUTE10,
202 p_ATTRIBUTE11 => p_costs_rec.ATTRIBUTE11,
203 p_ATTRIBUTE12 => p_costs_rec.ATTRIBUTE12,
204 p_ATTRIBUTE13 => p_costs_rec.ATTRIBUTE13,
205 p_ATTRIBUTE14 => p_costs_rec.ATTRIBUTE14,
206 p_ATTRIBUTE15 => p_costs_rec.ATTRIBUTE15,
207 p_LAST_UPDATE_LOGIN => p_costs_rec.LAST_UPDATE_LOGIN);
208
209
210 x_COST_ID := v_COST_ID;
211
212 -- IF PG_DEBUG < 10 THEN
213 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
214 IEX_DEBUG_PUB.LogMessage('Create_costs: ' || 'After Calling IEX_COSTS_PKG.Insert_Row'
215 ||' and cost id => ' ||v_cost_id);
216 END IF;
217
218 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
219 RAISE FND_API.G_EXC_ERROR;
220 END IF;
221
222 --
223 -- End of API body
224 --
225
226 -- Standard check for p_commit
227 IF FND_API.to_Boolean( p_commit )
228 THEN
229 COMMIT WORK;
230 END IF;
231
232
233
234 -- Standard call to get message count and if count is 1, get message info.
235 FND_MSG_PUB.Count_And_Get
236 ( p_count => x_msg_count,
237 p_data => x_msg_data
238 );
239 -- IF PG_DEBUG < 10 THEN
240 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
241 IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_COSTS_PVT.Create_costs ******** ');
242 END IF;
243 EXCEPTION
244 WHEN FND_API.G_EXC_ERROR THEN
245 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
246 P_API_NAME => L_API_NAME
247 ,P_PKG_NAME => G_PKG_NAME
248 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
249 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
250 ,X_MSG_COUNT => X_MSG_COUNT
251 ,X_MSG_DATA => X_MSG_DATA
252 ,X_RETURN_STATUS => X_RETURN_STATUS);
253
254 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
255 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
256 P_API_NAME => L_API_NAME
257 ,P_PKG_NAME => G_PKG_NAME
258 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
259 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
260 ,X_MSG_COUNT => X_MSG_COUNT
261 ,X_MSG_DATA => X_MSG_DATA
262 ,X_RETURN_STATUS => X_RETURN_STATUS);
263
264 WHEN OTHERS THEN
265 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
266 P_API_NAME => L_API_NAME
267 ,P_PKG_NAME => G_PKG_NAME
268 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
269 ,P_SQLCODE => SQLCODE
270 ,P_SQLERRM => SQLERRM
271 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
272 ,X_MSG_COUNT => X_MSG_COUNT
273 ,X_MSG_DATA => X_MSG_DATA
274 ,X_RETURN_STATUS => X_RETURN_STATUS);
275
276 End Create_costs;
277
278
279
280 PROCEDURE Update_costs(
281 P_Api_Version_Number IN NUMBER,
282 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
283 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
284 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
285 P_costs_Rec IN costs_Rec_Type,
286 X_Return_Status OUT NOCOPY VARCHAR2,
287 X_Msg_Count OUT NOCOPY NUMBER,
288 X_Msg_Data OUT NOCOPY VARCHAR2,
289 xo_object_version_number OUT NOCOPY NUMBER
290 )
291
292 IS
293 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_COSTS';
294 l_api_version_number CONSTANT NUMBER := 2.0;
295 l_object_version_number IEX_COSTS.object_version_number%TYPE
296 :=p_COSTS_rec.object_version_number;
297 BEGIN
298 -- IF PG_DEBUG < 10 THEN
299 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
300 IEX_DEBUG_PUB.LogMessage ('********* start of Procedure =>IEX_COSTS_PVT.update_COSTS ******** ');
301 END IF;
302 -- Standard Start of API savepoint
303 SAVEPOINT UPDATE_COSTS_PVT;
304
305 -- Standard call to check for call compatibility.
306 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
307 p_api_version_number,
308 l_api_name,
309 G_PKG_NAME)
310 THEN
311 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
312 END IF;
313
314
315 -- Initialize message list if p_init_msg_list is set to TRUE.
316 IF FND_API.to_Boolean( p_init_msg_list )
317 THEN
318 FND_MSG_PUB.initialize;
319 END IF;
320
321
322
323 -- Initialize API return status to SUCCESS
324 x_return_status := FND_API.G_RET_STS_SUCCESS;
325
326 --
327 -- Api body
328 --
329 -- Invoke table handler(IEX_COSTS_PKG.Update_Row)
330 -- call locking table handler
331 IEX_COSTS_PKG.lock_row (
332 p_COSTS_rec.cost_id,
333 l_object_version_number
334 );
335
336 -- Invoke table handler(IEX_COSTS_PKG.Update_Row)
337 IEX_COSTS_PKG.Update_Row(
338 p_COST_ID => p_costs_rec.COST_ID,
339 p_CASE_ID => p_costs_rec.CASE_ID,
340 p_DELINQUENCY_ID => p_costs_rec.DELINQUENCY_ID,
341 p_COST_TYPE_CODE => p_costs_rec.COST_TYPE_CODE,
342 p_COST_ITEM_TYPE_CODE => p_costs_rec.COST_ITEM_TYPE_CODE,
343 p_COST_ITEM_TYPE_DESC => p_costs_rec.COST_ITEM_TYPE_DESC,
344 p_COST_ITEM_AMOUNT => p_costs_rec.COST_ITEM_AMOUNT,
345 p_COST_ITEM_CURRENCY_CODE => p_costs_rec.COST_ITEM_CURRENCY_CODE,
346 p_COST_ITEM_QTY => p_costs_rec.COST_ITEM_QTY,
347 p_COST_ITEM_DATE => p_costs_rec.COST_ITEM_DATE,
348 p_FUNCTIONAL_AMOUNT =>p_costs_rec.FUNCTIONAL_AMOUNT,
349 p_EXCHANGE_TYPE => p_costs_rec.EXCHANGE_TYPE,
350 p_EXCHANGE_RATE => p_costs_rec.EXCHANGE_RATE,
351 p_EXCHANGE_DATE => p_costs_rec.EXCHANGE_DATE,
352 p_COST_ITEM_APPROVED => p_costs_rec.COST_ITEM_APPROVED,
353 p_ACTIVE_FLAG => p_costs_rec.ACTIVE_FLAG,
354 p_OBJECT_VERSION_NUMBER => l_OBJECT_VERSION_NUMBER +1,
355 p_LAST_UPDATED_BY => FND_GLOBAL.USER_ID,
356 p_LAST_UPDATE_DATE => SYSDATE,
357 p_REQUEST_ID => p_costs_rec.REQUEST_ID,
358 p_PROGRAM_APPLICATION_ID => p_costs_rec.PROGRAM_APPLICATION_ID,
359 p_PROGRAM_ID => p_costs_rec.PROGRAM_ID,
360 p_PROGRAM_UPDATE_DATE => p_costs_rec.PROGRAM_UPDATE_DATE,
361 p_ATTRIBUTE_CATEGORY => p_costs_rec.ATTRIBUTE_CATEGORY,
362 p_ATTRIBUTE1 => p_costs_rec.ATTRIBUTE1,
363 p_ATTRIBUTE2 => p_costs_rec.ATTRIBUTE2,
364 p_ATTRIBUTE3 => p_costs_rec.ATTRIBUTE3,
365 p_ATTRIBUTE4 => p_costs_rec.ATTRIBUTE4,
366 p_ATTRIBUTE5 => p_costs_rec.ATTRIBUTE5,
367 p_ATTRIBUTE6 => p_costs_rec.ATTRIBUTE6,
368 p_ATTRIBUTE7 => p_costs_rec.ATTRIBUTE7,
369 p_ATTRIBUTE8 => p_costs_rec.ATTRIBUTE8,
370 p_ATTRIBUTE9 => p_costs_rec.ATTRIBUTE9,
371 p_ATTRIBUTE10 => p_costs_rec.ATTRIBUTE10,
372 p_ATTRIBUTE11 => p_costs_rec.ATTRIBUTE11,
373 p_ATTRIBUTE12 => p_costs_rec.ATTRIBUTE12,
374 p_ATTRIBUTE13 => p_costs_rec.ATTRIBUTE13,
375 p_ATTRIBUTE14 => p_costs_rec.ATTRIBUTE14,
376 p_ATTRIBUTE15 => p_costs_rec.ATTRIBUTE15,
377 p_LAST_UPDATE_LOGIN => p_costs_rec.LAST_UPDATE_LOGIN);
378
379 --Return Version number
380 xo_object_version_number := l_object_version_number + 1;
381
382
383 --
384 -- End of API body.
385 --
386
387 -- Standard check for p_commit
388 IF FND_API.to_Boolean( p_commit )
389 THEN
390 COMMIT WORK;
391 END IF;
392
393
394
395 -- Standard call to get message count and if count is 1, get message info.
396 FND_MSG_PUB.Count_And_Get
397 ( p_count => x_msg_count,
398 p_data => x_msg_data
399 );
400 -- IF PG_DEBUG < 10 THEN
401 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
402 IEX_DEBUG_PUB.LogMessage ('********* end of Procedure =>IEX_COSTS_PVT.update_costs ******** ');
403 END IF;
404 EXCEPTION
405 WHEN FND_API.G_EXC_ERROR THEN
406 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
407 P_API_NAME => L_API_NAME
408 ,P_PKG_NAME => G_PKG_NAME
409 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
410 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
411 ,X_MSG_COUNT => X_MSG_COUNT
412 ,X_MSG_DATA => X_MSG_DATA
413 ,X_RETURN_STATUS => X_RETURN_STATUS);
414
415 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
416 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
417 P_API_NAME => L_API_NAME
418 ,P_PKG_NAME => G_PKG_NAME
419 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
420 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
421 ,X_MSG_COUNT => X_MSG_COUNT
422 ,X_MSG_DATA => X_MSG_DATA
423 ,X_RETURN_STATUS => X_RETURN_STATUS);
424
425 WHEN OTHERS THEN
426 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
427 P_API_NAME => L_API_NAME
428 ,P_PKG_NAME => G_PKG_NAME
429 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
430 ,P_SQLCODE => SQLCODE
431 ,P_SQLERRM => SQLERRM
432 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
433 ,X_MSG_COUNT => X_MSG_COUNT
434 ,X_MSG_DATA => X_MSG_DATA
435 ,X_RETURN_STATUS => X_RETURN_STATUS);
436 End Update_costs;
437
438
439 -- Hint: Add corresponding delete detail table procedures if it's master-detail relationship.
440 -- The Master delete procedure may not be needed depends on different business requirements.
441 PROCEDURE Delete_costs(
442 P_Api_Version_Number IN NUMBER,
443 P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
444 P_Commit IN VARCHAR2 := FND_API.G_FALSE,
445 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
446 P_cost_id IN NUMBER,
447 X_Return_Status OUT NOCOPY VARCHAR2,
448 X_Msg_Count OUT NOCOPY NUMBER,
449 X_Msg_Data OUT NOCOPY VARCHAR2
450 )
451
452 IS
453 l_api_name CONSTANT VARCHAR2(30) := 'Delete_costs';
454 l_api_version_number CONSTANT NUMBER := 2.0;
455
456 BEGIN
457 -- IF PG_DEBUG < 10 THEN
458 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
459 IEX_DEBUG_PUB.LogMessage ('********* start of Procedure =>IEX_COSTS_PVT.delete_costs ******** ');
460 END IF;
461 -- Standard Start of API savepoint
462 SAVEPOINT DELETE_COSTS_PVT;
463
464 -- Standard call to check for call compatibility.
465 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
466 p_api_version_number,
467 l_api_name,
468 G_PKG_NAME)
469 THEN
470 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
471 END IF;
472
473
474 -- Initialize message list if p_init_msg_list is set to TRUE.
475 IF FND_API.to_Boolean( p_init_msg_list )
476 THEN
477 FND_MSG_PUB.initialize;
478 END IF;
479
480 -- Initialize API return status to SUCCESS
481 x_return_status := FND_API.G_RET_STS_SUCCESS;
482
483 --
484 -- Api body
485 --
486
487 -- Invoke table handler(IEX_costsS_PKG.Delete_Row)
488 IEX_COSTS_PKG.Delete_Row(
489 p_COST_ID => p_COST_ID);
490 --
491 -- End of API body
492 --
493
494 -- Standard check for p_commit
495 IF FND_API.to_Boolean( p_commit )
496 THEN
497 COMMIT WORK;
498 END IF;
499
500
501 -- Standard call to get message count and if count is 1, get message info.
502 FND_MSG_PUB.Count_And_Get
503 ( p_count => x_msg_count,
504 p_data => x_msg_data
505 );
506 -- IF PG_DEBUG < 10 THEN
507 IF (FND_LOG.LEVEL_EVENT >= PG_DEBUG) THEN
508 IEX_DEBUG_PUB.LogMessage ('********* End of Procedure =>IEX_COSTS_PVT.delete_costs ******** ');
509 END IF;
510
511 EXCEPTION
512 WHEN FND_API.G_EXC_ERROR THEN
513 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
514 P_API_NAME => L_API_NAME
515 ,P_PKG_NAME => G_PKG_NAME
516 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_ERROR
517 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
518 ,X_MSG_COUNT => X_MSG_COUNT
519 ,X_MSG_DATA => X_MSG_DATA
520 ,X_RETURN_STATUS => X_RETURN_STATUS);
521
522 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
523 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
524 P_API_NAME => L_API_NAME
525 ,P_PKG_NAME => G_PKG_NAME
526 ,P_EXCEPTION_LEVEL => FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR
527 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
528 ,X_MSG_COUNT => X_MSG_COUNT
529 ,X_MSG_DATA => X_MSG_DATA
530 ,X_RETURN_STATUS => X_RETURN_STATUS);
531
532 WHEN OTHERS THEN
533 AS_UTILITY_PVT.HANDLE_EXCEPTIONS(
534 P_API_NAME => L_API_NAME
535 ,P_PKG_NAME => G_PKG_NAME
536 ,P_EXCEPTION_LEVEL => AS_UTILITY_PVT.G_EXC_OTHERS
537 ,P_SQLCODE => SQLCODE
538 ,P_SQLERRM => SQLERRM
539 ,P_PACKAGE_TYPE => AS_UTILITY_PVT.G_PVT
540 ,X_MSG_COUNT => X_MSG_COUNT
541 ,X_MSG_DATA => X_MSG_DATA
542 ,X_RETURN_STATUS => X_RETURN_STATUS);
543 End Delete_costs;
544 End IEX_costs_PVT;