[Home] [Help]
PACKAGE BODY: APPS.IGC_CC_ACCT_LINE_HISTORY_PKG
Source
1 PACKAGE BODY IGC_CC_ACCT_LINE_HISTORY_PKG as
2 /* $Header: IGCCALHB.pls 120.3.12000000.4 2007/10/19 07:23:49 smannava ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IGC_CC_ACCT_LINE_HISTORY_PKG';
5 g_debug_flag VARCHAR2(1) := 'N' ;
6
7
8
9 /* ================================================================================
10 PROCEDURE Insert_Row
11 ===============================================================================*/
12
13
14 PROCEDURE Insert_Row(
15 p_api_version IN NUMBER,
16 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
17 p_commit IN VARCHAR2 := FND_API.G_FALSE,
18 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
19 X_return_status OUT NOCOPY VARCHAR2,
20 X_msg_count OUT NOCOPY NUMBER,
21 X_msg_data OUT NOCOPY VARCHAR2,
22 p_Rowid IN OUT NOCOPY VARCHAR2,
23 p_CC_Acct_Line_Id IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Line_Id%TYPE,
24 p_CC_Header_Id IGC_CC_ACCT_LINE_HISTORY.CC_Header_Id%TYPE,
25 p_Parent_Header_Id IGC_CC_ACCT_LINE_HISTORY.Parent_Header_Id%TYPE,
26 p_Parent_Acct_Line_Id IGC_CC_ACCT_LINE_HISTORY.Parent_Acct_Line_Id%TYPE,
27 p_CC_Acct_Line_Num IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Line_Num%TYPE,
28 p_CC_Acct_Version_Num IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Version_Num%TYPE,
29 p_CC_Acct_Version_Action IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Version_Action%TYPE,
30 p_CC_Charge_Code_Comb_Id IGC_CC_ACCT_LINE_HISTORY.CC_Charge_Code_Combination_Id%TYPE,
31 p_CC_Budget_Code_Comb_Id IGC_CC_ACCT_LINE_HISTORY.CC_Budget_Code_Combination_Id%TYPE,
32 p_CC_Acct_Entered_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Entered_Amt%TYPE,
33 p_CC_Acct_Func_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Func_Amt%TYPE,
34 p_CC_Acct_Desc IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Desc%TYPE,
35 p_CC_Acct_Billed_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Billed_Amt%TYPE,
36 p_CC_Acct_Unbilled_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Unbilled_Amt%TYPE,
37 p_CC_Acct_Taxable_Flag IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Taxable_Flag%TYPE,
38 p_Tax_Id IGC_CC_ACCT_LINE_HISTORY.Tax_Id%TYPE,
39 p_CC_Acct_Encmbrnc_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Amt%TYPE,
40 p_CC_Acct_Encmbrnc_Date IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Date%TYPE,
41 p_CC_Acct_Encmbrnc_Status IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Status%TYPE,
42 p_Project_Id IGC_CC_ACCT_LINE_HISTORY.Project_Id%TYPE,
43 p_Task_Id IGC_CC_ACCT_LINE_HISTORY.Task_Id%TYPE,
44 p_Expenditure_Type IGC_CC_ACCT_LINE_HISTORY.Expenditure_Type%TYPE,
45 p_Expenditure_Org_Id IGC_CC_ACCT_LINE_HISTORY.Expenditure_Org_Id%TYPE,
46 p_Expenditure_Item_Date IGC_CC_ACCT_LINE_HISTORY.Expenditure_Item_Date%TYPE,
47 p_Last_Update_Date IGC_CC_ACCT_LINE_HISTORY.Last_Update_Date%TYPE,
48 p_Last_Updated_By IGC_CC_ACCT_LINE_HISTORY.Last_Updated_By%TYPE,
49 p_Last_Update_Login IGC_CC_ACCT_LINE_HISTORY.Last_Update_Login%TYPE,
50 p_Creation_Date IGC_CC_ACCT_LINE_HISTORY.Creation_Date%TYPE,
51 p_Created_By IGC_CC_ACCT_LINE_HISTORY.Created_By%TYPE,
52 p_Attribute1 IGC_CC_ACCT_LINE_HISTORY.Attribute1%TYPE,
53 p_Attribute2 IGC_CC_ACCT_LINE_HISTORY.Attribute2%TYPE,
54 p_Attribute3 IGC_CC_ACCT_LINE_HISTORY.Attribute3%TYPE,
55 p_Attribute4 IGC_CC_ACCT_LINE_HISTORY.Attribute4%TYPE,
56 p_Attribute5 IGC_CC_ACCT_LINE_HISTORY.Attribute5%TYPE,
57 p_Attribute6 IGC_CC_ACCT_LINE_HISTORY.Attribute6%TYPE,
58 p_Attribute7 IGC_CC_ACCT_LINE_HISTORY.Attribute7%TYPE,
59 p_Attribute8 IGC_CC_ACCT_LINE_HISTORY.Attribute8%TYPE,
60 p_Attribute9 IGC_CC_ACCT_LINE_HISTORY.Attribute9%TYPE,
61 p_Attribute10 IGC_CC_ACCT_LINE_HISTORY.Attribute10%TYPE,
62 p_Attribute11 IGC_CC_ACCT_LINE_HISTORY.Attribute11%TYPE,
63 p_Attribute12 IGC_CC_ACCT_LINE_HISTORY.Attribute12%TYPE,
64 p_Attribute13 IGC_CC_ACCT_LINE_HISTORY.Attribute13%TYPE,
65 p_Attribute14 IGC_CC_ACCT_LINE_HISTORY.Attribute14%TYPE,
66 p_Attribute15 IGC_CC_ACCT_LINE_HISTORY.Attribute15%TYPE,
67 p_Context IGC_CC_ACCT_LINE_HISTORY.Context%TYPE,
68 p_cc_func_withheld_amt IGC_CC_ACCT_LINE_HISTORY.cc_func_withheld_amt%TYPE,
69 p_cc_ent_withheld_amt IGC_CC_ACCT_LINE_HISTORY.cc_ent_withheld_amt%TYPE,
70 G_FLAG IN OUT NOCOPY VARCHAR2,
71 P_Tax_Classif_Code IGC_CC_ACCT_LINE_HISTORY.Tax_Classif_Code%TYPE
72 ) IS
73
74 l_api_name CONSTANT VARCHAR2(30) := 'Insert_Row';
75 l_api_version CONSTANT NUMBER := 1.0;
76 l_Application_Id NUMBER;
77 l_MRC_Enabled VARCHAR2(1);
78 l_Conversion_Date DATE;
79 l_Set_Of_Books_Id NUMBER;
80 l_Org_Id NUMBER(15);
81 l_return_status VARCHAR2(1);
82
83 CURSOR C_acct_hst_row_id IS
84 SELECT Rowid
85 FROM IGC_CC_ACCT_LINE_HISTORY
86 WHERE CC_Acct_Line_Id = p_CC_Acct_Line_Id
87 AND CC_Acct_Version_Num = p_CC_Acct_Version_Num;
88
89 CURSOR c_igc_app_id IS
90 SELECT Application_Id
91 FROM FND_APPLICATION
92 WHERE Application_Short_Name = 'IGC';
93
94 CURSOR c_cc_info IS
95 SELECT SET_OF_BOOKS_ID,
96 ORG_ID,
97 CONVERSION_DATE
98 FROM IGC_CC_HEADERS ICH,
99 IGC_CC_ACCT_LINES IAL
100 WHERE ICH.CC_HEADER_ID = IAL.CC_HEADER_ID
101 AND IAL.CC_ACCT_LINE_ID = p_CC_Acct_Line_Id;
102
103
104 BEGIN
105
106 SAVEPOINT Insert_Row_Pvt ;
107
108 -- -----------------------------------------------------------------
109 -- Ensure that the version requested to be used is correct for
110 -- this API.
111 -- -----------------------------------------------------------------
112 IF NOT FND_API.Compatible_API_Call ( l_api_version,
113 p_api_version,
114 l_api_name,
115 G_PKG_NAME )
116 THEN
117 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
118 END IF;
119
120
121 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
122 FND_MSG_PUB.initialize ;
123 END IF;
124
125 X_return_status := FND_API.G_RET_STS_SUCCESS ;
126
127 -- -----------------------------------------------------------------
128 -- Insert the account line history record as requested.
129 -- -----------------------------------------------------------------
130 INSERT
131 INTO IGC_CC_ACCT_LINE_HISTORY
132 (CC_Acct_Line_Id,
133 CC_Header_Id,
134 Parent_Header_Id,
135 Parent_Acct_Line_Id,
136 CC_Acct_Line_Num,
137 CC_Acct_Version_Num,
138 CC_Acct_Version_Action,
139 CC_Charge_Code_Combination_Id,
140 CC_Budget_Code_Combination_Id,
141 CC_Acct_Entered_Amt,
142 CC_Acct_Func_Amt,
143 CC_Acct_Desc,
144 CC_Acct_Billed_Amt,
145 CC_Acct_Unbilled_Amt,
146 CC_Acct_Taxable_Flag,
147 Tax_Id,
148 CC_Acct_Encmbrnc_Amt,
149 CC_Acct_Encmbrnc_Date,
150 CC_Acct_Encmbrnc_Status,
151 Project_Id,
152 Task_Id,
153 Expenditure_Type,
154 Expenditure_Org_Id,
155 Expenditure_Item_Date,
156 Last_Update_Date,
157 Last_Updated_By,
158 Last_Update_Login,
159 Creation_Date,
160 Created_By,
161 Attribute1,
162 Attribute2,
163 Attribute3,
164 Attribute4,
165 Attribute5,
166 Attribute6,
167 Attribute7,
168 Attribute8,
169 Attribute9,
170 Attribute10,
171 Attribute11,
172 Attribute12,
173 Attribute13,
174 Attribute14,
175 Attribute15,
176 Context ,
177 cc_func_withheld_amt,
178 cc_ent_withheld_amt,
179 Tax_Classif_Code
180 )
181 VALUES
182 (p_CC_Acct_Line_Id,
183 p_CC_Header_Id,
184 p_Parent_Header_Id,
185 p_Parent_Acct_Line_Id,
186 p_CC_Acct_Line_Num,
187 p_CC_Acct_Version_Num,
188 p_CC_Acct_Version_Action,
189 p_CC_Charge_Code_Comb_Id,
190 p_CC_Budget_Code_Comb_Id,
191 p_CC_Acct_Entered_Amt,
192 p_CC_Acct_Func_Amt,
193 p_CC_Acct_Desc,
194 p_CC_Acct_Billed_Amt,
195 p_CC_Acct_Unbilled_Amt,
196 p_CC_Acct_Taxable_Flag,
197 p_Tax_Id,
198 p_CC_Acct_Encmbrnc_Amt,
199 p_CC_Acct_Encmbrnc_Date,
200 p_CC_Acct_Encmbrnc_Status,
201 p_Project_Id,
202 p_Task_Id,
203 p_Expenditure_Type,
204 p_Expenditure_Org_Id,
205 p_Expenditure_Item_Date,
206 p_Last_Update_Date,
207 p_Last_Updated_By,
208 p_Last_Update_Login,
209 p_Creation_Date,
210 p_Created_By,
211 p_Attribute1,
212 p_Attribute2,
213 p_Attribute3,
214 p_Attribute4,
215 p_Attribute5,
216 p_Attribute6,
217 p_Attribute7,
218 p_Attribute8,
219 p_Attribute9,
220 p_Attribute10,
221 p_Attribute11,
222 p_Attribute12,
223 p_Attribute13,
224 p_Attribute14,
225 p_Attribute15,
226 p_Context,
227 p_cc_func_withheld_amt,
228 p_cc_ent_withheld_amt,
229 P_Tax_Classif_Code
230 );
231
232 -- -------------------------------------------------------------------
233 -- Obtain the ROWID of the record that was just inserted to return
234 -- to the caller.
235 -- -------------------------------------------------------------------
236 OPEN C_acct_hst_row_id ;
237 FETCH C_acct_hst_row_id
238 INTO p_Rowid;
239
240 -- -------------------------------------------------------------------
241 -- If no ROWID can be obtained then exit the procedure with a failure
242 -- -------------------------------------------------------------------
243 IF (C_acct_hst_row_id %NOTFOUND) then
244 RAISE FND_API.G_EXC_ERROR ;
245 END IF;
246
247 CLOSE C_acct_hst_row_id ;
248
249 -- ------------------------------------------------------------------
250 -- Obtain the application ID for IGC to be used for the MRC check
251 -- being enabled for this set of books.
252 -- ------------------------------------------------------------------
253 OPEN c_igc_app_id;
254 FETCH c_igc_app_id
255 INTO l_Application_Id;
256
257 -- ------------------------------------------------------------------
258 -- If the application ID can not be attained then exit the procedure
259 -- ------------------------------------------------------------------
260 IF (c_igc_app_id%NOTFOUND) THEN
261 RAISE FND_API.G_EXC_ERROR;
262 END IF;
263
264 CLOSE c_igc_app_id;
265
266 -- ------------------------------------------------------------------
267 -- Obtain the set of books, org id, and the conversion date for the
268 -- CC Header record that the account line is associated to.
269 -- ------------------------------------------------------------------
270 OPEN c_cc_info;
271 FETCH c_cc_info
272 INTO l_Set_Of_Books_Id,
273 l_Org_Id,
274 l_Conversion_Date;
275
276 -- ------------------------------------------------------------------
277 -- Exit procedure if the values can not be obtained.
278 -- ------------------------------------------------------------------
279 IF (c_cc_info%NOTFOUND) THEN
280 RAISE FND_API.G_EXC_ERROR;
281 END IF;
282
283 CLOSE c_cc_info;
284
285 -- ------------------------------------------------------------------
286 -- If the conversion date is NULL then fill in the value with the
287 -- current system date.
288 -- ------------------------------------------------------------------
289
290 gl_mc_info.mrc_enabled(
291 l_Set_Of_Books_Id,
292 101, /*--l_Application_Id, commented for MRC uptake*/
293 l_Org_Id,
294 Null,
295 l_MRC_Enabled);
296
297 -- ------------------------------------------------------------------
298 -- If MRC is enabled for this set of books being used then call the
299 -- handler to insert all reporting set of books into the MRC
300 -- table for the account line inserted.
301 -- ------------------------------------------------------------------
302 IF (l_MRC_Enabled = 'Y') THEN
303
304 -- ------------------------------------------------------------------
305 -- MRC Handler For IGC_CC_ACCT_LINE_HISTORY to insert all MRC records for
306 -- the reporting set of books for this PRIMARY set of books.
307 -- ------------------------------------------------------------------
308 IGC_CC_MC_MAIN_HST_PVT.get_rsobs_ACCT_LINES (
309 l_api_version,
310 FND_API.G_FALSE,
311 FND_API.G_FALSE,
312 p_validation_level,
313 l_return_status,
314 X_msg_count,
315 X_msg_data,
316 p_CC_Acct_Line_Id,
317 l_Set_Of_Books_Id,
318 101, /*--l_Application_Id, commented for MRC uptake*/
319 l_org_Id,
320 NVL(l_Conversion_Date,sysdate),
321 p_CC_Acct_Func_Amt,
322 p_CC_Acct_Encmbrnc_Amt,
323 p_CC_Acct_Version_Num,
324 p_CC_Acct_Version_Action,
325 p_cc_Func_Withheld_Amt
326 );
327
328 -- ------------------------------------------------------------------
329 -- Make sure that the insertion was a success
330 -- ------------------------------------------------------------------
331 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
332 RAISE FND_API.G_EXC_ERROR;
333 END IF;
334
335 END IF;
336
337 -- -----------------------------------------------------------------
338 -- If the records are to be commited in this procedure then
339 -- commit the work now otherwise wait for the caller to do COMMIT.
340 -- -----------------------------------------------------------------
341
342 IF FND_API.To_Boolean ( p_commit ) THEN
343 COMMIT WORK;
344 END IF;
345
346 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
347 p_data => X_msg_data );
348 RETURN;
349
350 EXCEPTION
351
352 WHEN FND_API.G_EXC_ERROR THEN
353
354 ROLLBACK TO Insert_Row_Pvt ;
355 X_return_status := FND_API.G_RET_STS_ERROR;
356 IF (C_acct_hst_row_id %ISOPEN) THEN
357 CLOSE C_acct_hst_row_id ;
358 END IF;
359 IF (c_igc_app_id%ISOPEN) THEN
360 CLOSE c_igc_app_id;
361 END IF;
362 IF (c_cc_info%ISOPEN) THEN
363 CLOSE c_cc_info;
364 END IF;
365
366 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
367 p_data => X_msg_data );
368
369 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
370
371 ROLLBACK TO Insert_Row_Pvt ;
372 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
373 IF (C_acct_hst_row_id %ISOPEN) THEN
374 CLOSE C_acct_hst_row_id ;
375 END IF;
376 IF (c_igc_app_id%ISOPEN) THEN
377 CLOSE c_igc_app_id;
378 END IF;
379 IF (c_cc_info%ISOPEN) THEN
380 CLOSE c_cc_info;
381 END IF;
382
383 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
384 p_data => X_msg_data );
385
386 WHEN OTHERS THEN
387
388 ROLLBACK TO Insert_Row_Pvt ;
389 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
390 IF (C_acct_hst_row_id %ISOPEN) THEN
391 CLOSE C_acct_hst_row_id ;
392 END IF;
393 IF (c_igc_app_id%ISOPEN) THEN
394 CLOSE c_igc_app_id;
395 END IF;
396 IF (c_cc_info%ISOPEN) THEN
397 CLOSE c_cc_info;
398 END IF;
399
400 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
401 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
402 l_api_name);
403 END if;
404
405 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
406 p_data => X_msg_data );
407
408 END Insert_Row;
409
410
411
412 /* ================================================================================
413 PROCEDURE Lock_Row
414 ===============================================================================*/
415
416
417 PROCEDURE Lock_Row(
418 p_api_version IN NUMBER,
419 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
420 p_commit IN VARCHAR2 := FND_API.G_FALSE,
421 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
422 X_return_status OUT NOCOPY VARCHAR2,
423 X_msg_count OUT NOCOPY NUMBER,
424 X_msg_data OUT NOCOPY VARCHAR2,
425 p_Rowid IN OUT NOCOPY VARCHAR2,
426 p_CC_Acct_Line_Id IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Line_Id%TYPE,
427 p_CC_Header_Id IGC_CC_ACCT_LINE_HISTORY.CC_Header_Id%TYPE,
428 p_Parent_Header_Id IGC_CC_ACCT_LINE_HISTORY.Parent_Header_Id%TYPE,
429 p_Parent_Acct_Line_Id IGC_CC_ACCT_LINE_HISTORY.Parent_Acct_Line_Id%TYPE,
430 p_CC_Acct_Line_Num IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Line_Num%TYPE,
431 p_CC_Acct_Version_Num IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Version_Num%TYPE,
432 p_CC_Acct_Version_Action IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Version_Action%TYPE,
433 p_CC_Charge_Code_Comb_Id IGC_CC_ACCT_LINE_HISTORY.CC_Charge_Code_Combination_Id%TYPE,
434 p_CC_Budget_Code_Comb_Id IGC_CC_ACCT_LINE_HISTORY.CC_Budget_Code_Combination_Id%TYPE,
435 p_CC_Acct_Entered_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Entered_Amt%TYPE,
436 p_CC_Acct_Func_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Func_Amt%TYPE,
437 p_CC_Acct_Desc IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Desc%TYPE,
438 p_CC_Acct_Billed_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Billed_Amt%TYPE,
439 p_CC_Acct_Unbilled_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Unbilled_Amt%TYPE,
440 p_CC_Acct_Taxable_Flag IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Taxable_Flag%TYPE,
441 p_Tax_Id IGC_CC_ACCT_LINE_HISTORY.Tax_Id%TYPE,
442 p_CC_Acct_Encmbrnc_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Amt%TYPE,
443 p_CC_Acct_Encmbrnc_Date IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Date%TYPE,
444 p_CC_Acct_Encmbrnc_Status IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Status%TYPE,
445 p_Project_Id IGC_CC_ACCT_LINE_HISTORY.Project_Id%TYPE,
446 p_Task_Id IGC_CC_ACCT_LINE_HISTORY.Task_Id%TYPE,
447 p_Expenditure_Type IGC_CC_ACCT_LINE_HISTORY.Expenditure_Type%TYPE,
448 p_Expenditure_Org_Id IGC_CC_ACCT_LINE_HISTORY.Expenditure_Org_Id%TYPE,
449 p_Expenditure_Item_Date IGC_CC_ACCT_LINE_HISTORY.Expenditure_Item_Date%TYPE,
450 p_Last_Update_Date IGC_CC_ACCT_LINE_HISTORY.Last_Update_Date%TYPE,
451 p_Last_Updated_By IGC_CC_ACCT_LINE_HISTORY.Last_Updated_By%TYPE,
452 p_Last_Update_Login IGC_CC_ACCT_LINE_HISTORY.Last_Update_Login%TYPE,
453 p_Creation_Date IGC_CC_ACCT_LINE_HISTORY.Creation_Date%TYPE,
454 p_Created_By IGC_CC_ACCT_LINE_HISTORY.Created_By%TYPE,
455 p_Attribute1 IGC_CC_ACCT_LINE_HISTORY.Attribute1%TYPE,
456 p_Attribute2 IGC_CC_ACCT_LINE_HISTORY.Attribute2%TYPE,
457 p_Attribute3 IGC_CC_ACCT_LINE_HISTORY.Attribute3%TYPE,
458 p_Attribute4 IGC_CC_ACCT_LINE_HISTORY.Attribute4%TYPE,
459 p_Attribute5 IGC_CC_ACCT_LINE_HISTORY.Attribute5%TYPE,
460 p_Attribute6 IGC_CC_ACCT_LINE_HISTORY.Attribute6%TYPE,
461 p_Attribute7 IGC_CC_ACCT_LINE_HISTORY.Attribute7%TYPE,
462 p_Attribute8 IGC_CC_ACCT_LINE_HISTORY.Attribute8%TYPE,
463 p_Attribute9 IGC_CC_ACCT_LINE_HISTORY.Attribute9%TYPE,
464 p_Attribute10 IGC_CC_ACCT_LINE_HISTORY.Attribute10%TYPE,
465 p_Attribute11 IGC_CC_ACCT_LINE_HISTORY.Attribute11%TYPE,
466 p_Attribute12 IGC_CC_ACCT_LINE_HISTORY.Attribute12%TYPE,
467 p_Attribute13 IGC_CC_ACCT_LINE_HISTORY.Attribute13%TYPE,
468 p_Attribute14 IGC_CC_ACCT_LINE_HISTORY.Attribute14%TYPE,
469 p_Attribute15 IGC_CC_ACCT_LINE_HISTORY.Attribute15%TYPE,
470 p_Context IGC_CC_ACCT_LINE_HISTORY.Context%TYPE,
471 p_cc_func_withheld_amt IGC_CC_ACCT_LINE_HISTORY.cc_func_withheld_amt%TYPE,
472 p_cc_ent_withheld_amt IGC_CC_ACCT_LINE_HISTORY.cc_ent_withheld_amt%TYPE,
473 X_row_locked OUT NOCOPY VARCHAR2,
474 G_FLAG IN OUT NOCOPY VARCHAR2,
475 P_Tax_Classif_Code IGC_CC_ACCT_LINE_HISTORY.Tax_Classif_Code%TYPE
476 ) IS
477
478 l_api_name CONSTANT VARCHAR2(30) := 'Lock_Row';
479 l_api_version CONSTANT NUMBER := 1.0;
480 Counter NUMBER;
481
482 CURSOR C IS
483 SELECT *
484 FROM IGC_CC_ACCT_LINE_HISTORY
485 WHERE Rowid = p_Rowid
486 FOR UPDATE of CC_Acct_Line_Id NOWAIT;
487
488 Recinfo C%ROWTYPE;
489
490 BEGIN
491
492 SAVEPOINT Lock_Row_Pvt ;
493
494 IF NOT FND_API.Compatible_API_Call ( l_api_version,
495 p_api_version,
496 l_api_name,
497 G_PKG_NAME )
498 THEN
499 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
500 END IF;
501
502
503 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
504 FND_MSG_PUB.initialize ;
505 END IF;
506
507 X_return_status := FND_API.G_RET_STS_SUCCESS ;
508 X_row_locked := FND_API.G_TRUE ;
509
510 OPEN C;
511 FETCH C
512 INTO Recinfo;
513
514 IF (C%NOTFOUND) THEN
515 CLOSE C;
516 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
517 FND_MSG_PUB.Add;
518 RAISE FND_API.G_EXC_ERROR ;
519 END IF;
520
521 CLOSE C;
522 IF (
523 (Recinfo.CC_Acct_Line_Id = p_CC_Acct_Line_Id)
524 AND (Recinfo.CC_Header_Id = p_CC_Header_Id)
525 AND (Recinfo.CC_Acct_Line_Num = p_CC_Acct_Line_Num)
526 AND (Recinfo.CC_Acct_Version_Num = p_CC_Acct_Version_Num)
527 AND (Recinfo.CC_Acct_Version_Action = p_CC_Acct_Version_Action)
528 AND ( (Recinfo.Parent_Acct_Line_Id = p_Parent_Acct_Line_Id)
529 OR ( (Recinfo.Parent_Acct_Line_Id IS NULL)
530 AND (p_Parent_Acct_Line_Id IS NULL)))
531 AND ( (Recinfo.Parent_Header_Id = p_Parent_Header_Id)
532 OR ( (Recinfo.Parent_Header_Id IS NULL)
533 AND (p_Parent_Header_Id IS NULL)))
534 AND ( (Recinfo.CC_Charge_Code_Combination_Id = p_CC_Charge_Code_Comb_Id)
535 OR ( (Recinfo.CC_Charge_Code_Combination_Id IS NULL)
536 AND (p_CC_Charge_Code_Comb_Id IS NULL)))
537 AND ( (Recinfo.CC_Budget_Code_Combination_Id = p_CC_Budget_Code_Comb_Id)
538 OR ( (Recinfo.CC_Budget_Code_Combination_Id IS NULL)
539 AND (p_CC_Budget_Code_Comb_Id IS NULL)))
540 AND ( (Recinfo.CC_Acct_Entered_Amt = p_CC_Acct_Entered_Amt)
541 OR ( (Recinfo.CC_Acct_Entered_Amt IS NULL)
542 AND (p_CC_Acct_Entered_Amt IS NULL)))
543 AND ( (Recinfo.CC_Acct_Func_Amt = p_CC_Acct_Func_Amt)
544 OR ( (Recinfo.CC_Acct_Func_Amt IS NULL)
545 AND (p_CC_Acct_Func_Amt IS NULL)))
546 AND ( (Recinfo.CC_Acct_Desc = p_CC_Acct_Desc )
547 OR ( (Recinfo.CC_Acct_Desc IS NULL)
548 AND (p_CC_Acct_Desc IS NULL)))
549 AND ( (Recinfo.CC_Acct_Billed_Amt = p_CC_Acct_Billed_Amt)
550 OR ( (Recinfo.CC_Acct_Billed_Amt IS NULL)
551 AND (p_CC_Acct_Billed_Amt IS NULL)))
552 AND ( (Recinfo.CC_Acct_UnBilled_Amt = p_CC_Acct_UnBilled_Amt)
553 OR ( (Recinfo.CC_Acct_UnBilled_Amt IS NULL)
554 AND (p_CC_Acct_UnBilled_Amt IS NULL)))
555 AND ( (Recinfo.CC_Acct_Taxable_Flag = p_CC_Acct_Taxable_Flag)
556 OR ( (Recinfo.CC_Acct_Taxable_Flag IS NULL)
557 AND (p_CC_Acct_Taxable_Flag IS NULL)))
558 AND ( (Recinfo.Tax_Id = p_Tax_Id )
559 OR ( (Recinfo.Tax_Id IS NULL)
560 AND (p_Tax_Id IS NULL)))
561 AND ( (Recinfo.CC_Acct_Encmbrnc_Amt = p_CC_Acct_Encmbrnc_Amt)
562 OR ( (Recinfo.CC_Acct_Encmbrnc_Amt IS NULL)
563 AND (p_CC_Acct_Encmbrnc_Amt IS NULL)))
564 AND ( (Recinfo.CC_Acct_Encmbrnc_Date = p_CC_Acct_Encmbrnc_Date)
565 OR ( (Recinfo.CC_Acct_Encmbrnc_Date IS NULL)
566 AND (p_CC_Acct_Encmbrnc_Date IS NULL)))
567 AND ( (Recinfo.CC_Acct_Encmbrnc_Status= p_CC_Acct_Encmbrnc_Status)
568 OR ( (Recinfo.CC_Acct_Encmbrnc_Status IS NULL)
569 AND (p_CC_Acct_Encmbrnc_Status IS NULL)))
570 AND ( (Recinfo.Project_Id = p_Project_Id)
571 OR ( (Recinfo.Project_Id IS NULL)
572 AND (p_Project_Id IS NULL)))
573 AND ( (Recinfo.Task_Id = p_Task_Id)
574 OR ( (Recinfo.Task_Id IS NULL)
575 AND (p_Task_Id IS NULL)))
576 AND ( (Recinfo.Expenditure_Type = p_Expenditure_Type)
577 OR ( (Recinfo.Expenditure_Type IS NULL)
578 AND (p_Expenditure_Type IS NULL)))
579 AND ( (Recinfo.Expenditure_Org_Id = p_Expenditure_Org_Id)
580 OR ( (Recinfo.Expenditure_Org_Id IS NULL)
581 AND (p_Expenditure_Org_Id IS NULL)))
582 AND ( (Recinfo.Expenditure_Item_Date = p_Expenditure_Item_Date)
583 OR ( (Recinfo.Expenditure_Item_Date IS NULL)
584 AND (p_Expenditure_Item_Date IS NULL)))
585 AND ( (Recinfo.Attribute1 = p_Attribute1)
586 OR ( (Recinfo.Attribute1 IS NULL)
587 AND (p_Attribute1 IS NULL)))
588 AND ( (Recinfo.Attribute2 = p_Attribute2)
589 OR ( (Recinfo.Attribute2 IS NULL)
590 AND (p_Attribute2 IS NULL)))
591 AND ( (Recinfo.Attribute3 = p_Attribute3)
592 OR ( (Recinfo.Attribute3 IS NULL)
593 AND (p_Attribute3 IS NULL)))
594 AND ( (Recinfo.Attribute4 = p_Attribute4)
595 OR ( (Recinfo.Attribute4 IS NULL)
596 AND (p_Attribute4 IS NULL)))
597 AND ( (Recinfo.Attribute5 = p_Attribute5)
598 OR ( (Recinfo.Attribute5 IS NULL)
599 AND (p_Attribute5 IS NULL)))
600 AND ( (Recinfo.Attribute6 = p_Attribute6)
601 OR ( (Recinfo.Attribute6 IS NULL)
602 AND (p_Attribute6 IS NULL)))
603 AND ( (Recinfo.Attribute7 = p_Attribute7)
604 OR ( (Recinfo.Attribute7 IS NULL)
605 AND (p_Attribute7 IS NULL)))
606 AND ( (Recinfo.Attribute8 = p_Attribute8)
607 OR ( (Recinfo.Attribute8 IS NULL)
608 AND (p_Attribute8 IS NULL)))
609 AND ( (Recinfo.Attribute9 = p_Attribute9)
610 OR ( (Recinfo.Attribute9 IS NULL)
611 AND (p_Attribute9 IS NULL)))
612 AND ( (Recinfo.Attribute10 = p_Attribute10)
613 OR ( (Recinfo.Attribute10 IS NULL)
614 AND (p_Attribute10 IS NULL)))
615 AND ( (Recinfo.Attribute11 = p_Attribute11)
616 OR ( (Recinfo.Attribute11 IS NULL)
617 AND (p_Attribute11 IS NULL)))
618 AND ( (Recinfo.Attribute12 = p_Attribute12)
619 OR ( (Recinfo.Attribute12 IS NULL)
620 AND (p_Attribute12 IS NULL)))
621 AND ( (Recinfo.Attribute13 = p_Attribute13)
622 OR ( (Recinfo.Attribute13 IS NULL)
623 AND (p_Attribute13 IS NULL)))
624 AND ( (Recinfo.Attribute14 = p_Attribute14)
625 OR ( (Recinfo.Attribute14 IS NULL)
626 AND (p_Attribute14 IS NULL)))
627 AND ( (Recinfo.Attribute15 = p_Attribute15)
628 OR ( (Recinfo.Attribute15 IS NULL)
629 AND (p_Attribute15 IS NULL)))
630 AND ( (Recinfo.Context = p_Context)
631 OR ( (Recinfo.Context IS NULL)
632 AND (p_Context IS NULL)))
633 AND ( (Recinfo.CC_Func_Withheld_amt = p_CC_Func_Withheld_amt)
634 OR ( (Recinfo.CC_Func_Withheld_amt IS NULL)
635 AND (p_CC_Func_Withheld_amt IS NULL)))
636 AND ( (Recinfo.CC_Ent_Withheld_Amt = p_CC_Ent_Withheld_Amt)
637 OR ( (Recinfo.CC_Ent_Withheld_Amt IS NULL)
638 AND (p_CC_Ent_Withheld_Amt IS NULL)))
639 AND ( (Recinfo.Tax_Classif_Code = P_Tax_Classif_Code)
640 OR ( (Recinfo.Tax_Classif_Code IS NULL)
641 AND (P_Tax_Classif_Code IS NULL)))
642 ) THEN
643
644 NULL;
645
646 ELSE
647
648 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
649 FND_MSG_PUB.Add;
650 RAISE FND_API.G_EXC_ERROR ;
651 END IF;
652
653 IF FND_API.To_Boolean ( p_commit ) THEN
654 COMMIT WORK;
655 END iF;
656
657 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
658 p_data => X_msg_data );
659
660 EXCEPTION
661
662 WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
663
664 ROLLBACK TO Lock_Row_Pvt ;
665 X_row_locked := FND_API.G_FALSE;
666 X_return_status := FND_API.G_RET_STS_ERROR;
667 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
668 p_data => X_msg_data );
669
670 WHEN FND_API.G_EXC_ERROR THEN
671
672 ROLLBACK TO Lock_Row_Pvt ;
673 X_return_status := FND_API.G_RET_STS_ERROR;
674 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
675 p_data => X_msg_data );
676
677 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
678
679 ROLLBACK TO Lock_Row_Pvt ;
680 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
681 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
682 p_data => X_msg_data );
683
684 WHEN OTHERS THEN
685
686 ROLLBACK TO Lock_Row_Pvt ;
687 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
688
689 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
690 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
691 l_api_name);
692 END if;
693
694 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
695 p_data => X_msg_data );
696
697 END Lock_Row;
698
699
700 /* ================================================================================
701 PROCEDURE Update_Row
702 ===============================================================================*/
703
704 PROCEDURE Update_Row(
705 p_api_version IN NUMBER,
706 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
707 p_commit IN VARCHAR2 := FND_API.G_FALSE,
708 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
709 X_return_status OUT NOCOPY VARCHAR2,
710 X_msg_count OUT NOCOPY NUMBER,
711 X_msg_data OUT NOCOPY VARCHAR2,
712 p_Rowid IN OUT NOCOPY VARCHAR2,
713 p_CC_Acct_Line_Id IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Line_Id%TYPE,
714 p_CC_Header_Id IGC_CC_ACCT_LINE_HISTORY.CC_Header_Id%TYPE,
715 p_Parent_Header_Id IGC_CC_ACCT_LINE_HISTORY.Parent_Header_Id%TYPE,
716 p_Parent_Acct_Line_Id IGC_CC_ACCT_LINE_HISTORY.Parent_Acct_Line_Id%TYPE,
717 p_CC_Acct_Line_Num IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Line_Num%TYPE,
718 p_CC_Acct_Version_Num IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Version_Num%TYPE,
719 p_CC_Acct_Version_Action IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Version_Action%TYPE,
720 p_CC_Charge_Code_Comb_Id IGC_CC_ACCT_LINE_HISTORY.CC_Charge_Code_Combination_Id%TYPE,
721 p_CC_Budget_Code_Comb_Id IGC_CC_ACCT_LINE_HISTORY.CC_Budget_Code_Combination_Id%TYPE,
722 p_CC_Acct_Entered_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Entered_Amt%TYPE,
723 p_CC_Acct_Func_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Func_Amt%TYPE,
724 p_CC_Acct_Desc IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Desc%TYPE,
725 p_CC_Acct_Billed_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Billed_Amt%TYPE,
726 p_CC_Acct_Unbilled_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Unbilled_Amt%TYPE,
727 p_CC_Acct_Taxable_Flag IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Taxable_Flag%TYPE,
728 p_Tax_Id IGC_CC_ACCT_LINE_HISTORY.Tax_Id%TYPE,
729 p_CC_Acct_Encmbrnc_Amt IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Amt%TYPE,
730 p_CC_Acct_Encmbrnc_Date IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Date%TYPE,
731 p_CC_Acct_Encmbrnc_Status IGC_CC_ACCT_LINE_HISTORY.CC_Acct_Encmbrnc_Status%TYPE,
732 p_Project_Id IGC_CC_ACCT_LINE_HISTORY.Project_Id%TYPE,
733 p_Task_Id IGC_CC_ACCT_LINE_HISTORY.Task_Id%TYPE,
734 p_Expenditure_Type IGC_CC_ACCT_LINE_HISTORY.Expenditure_Type%TYPE,
735 p_Expenditure_Org_Id IGC_CC_ACCT_LINE_HISTORY.Expenditure_Org_Id%TYPE,
736 p_Expenditure_Item_Date IGC_CC_ACCT_LINE_HISTORY.Expenditure_Item_Date%TYPE,
737 p_Last_Update_Date IGC_CC_ACCT_LINE_HISTORY.Last_Update_Date%TYPE,
738 p_Last_Updated_By IGC_CC_ACCT_LINE_HISTORY.Last_Updated_By%TYPE,
739 p_Last_Update_Login IGC_CC_ACCT_LINE_HISTORY.Last_Update_Login%TYPE,
740 p_Creation_Date IGC_CC_ACCT_LINE_HISTORY.Creation_Date%TYPE,
741 p_Created_By IGC_CC_ACCT_LINE_HISTORY.Created_By%TYPE,
742 p_Attribute1 IGC_CC_ACCT_LINE_HISTORY.Attribute1%TYPE,
743 p_Attribute2 IGC_CC_ACCT_LINE_HISTORY.Attribute2%TYPE,
744 p_Attribute3 IGC_CC_ACCT_LINE_HISTORY.Attribute3%TYPE,
745 p_Attribute4 IGC_CC_ACCT_LINE_HISTORY.Attribute4%TYPE,
746 p_Attribute5 IGC_CC_ACCT_LINE_HISTORY.Attribute5%TYPE,
747 p_Attribute6 IGC_CC_ACCT_LINE_HISTORY.Attribute6%TYPE,
748 p_Attribute7 IGC_CC_ACCT_LINE_HISTORY.Attribute7%TYPE,
749 p_Attribute8 IGC_CC_ACCT_LINE_HISTORY.Attribute8%TYPE,
750 p_Attribute9 IGC_CC_ACCT_LINE_HISTORY.Attribute9%TYPE,
751 p_Attribute10 IGC_CC_ACCT_LINE_HISTORY.Attribute10%TYPE,
752 p_Attribute11 IGC_CC_ACCT_LINE_HISTORY.Attribute11%TYPE,
753 p_Attribute12 IGC_CC_ACCT_LINE_HISTORY.Attribute12%TYPE,
754 p_Attribute13 IGC_CC_ACCT_LINE_HISTORY.Attribute13%TYPE,
755 p_Attribute14 IGC_CC_ACCT_LINE_HISTORY.Attribute14%TYPE,
756 p_Attribute15 IGC_CC_ACCT_LINE_HISTORY.Attribute15%TYPE,
757 p_Context IGC_CC_ACCT_LINE_HISTORY.Context%TYPE,
758 p_cc_func_withheld_amt IGC_CC_ACCT_LINE_HISTORY.cc_func_withheld_amt%TYPE,
759 p_cc_ent_withheld_amt IGC_CC_ACCT_LINE_HISTORY.cc_ent_withheld_amt%TYPE,
760 G_FLAG IN OUT NOCOPY VARCHAR2,
761 P_Tax_Classif_Code IGC_CC_ACCT_LINE_HISTORY.Tax_Classif_Code%TYPE
762 ) IS
763
764 l_api_name CONSTANT VARCHAR2(30) := 'Update_Row';
765 l_api_version CONSTANT NUMBER := 1.0;
766
767 BEGIN
768
769 SAVEPOINT Update_Row_Pvt ;
770
771 IF NOT FND_API.Compatible_API_Call ( l_api_version,
772 p_api_version,
773 l_api_name,
774 G_PKG_NAME )
775 THEN
776 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
777 END IF;
778
779
780 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
781 FND_MSG_PUB.initialize ;
782 END IF;
783
784 X_return_status := FND_API.G_RET_STS_SUCCESS ;
785
786 UPDATE IGC_CC_ACCT_LINE_HISTORY
787 SET CC_Acct_Line_Id = p_CC_Acct_Line_Id,
788 CC_Header_Id = p_CC_Header_Id,
789 Parent_Header_Id = p_Parent_Header_Id,
790 Parent_Acct_Line_Id = p_Parent_Acct_Line_Id,
791 CC_Acct_Line_Num = p_CC_Acct_Line_Num,
792 CC_Acct_Version_Num = p_CC_Acct_Version_Num,
793 CC_Acct_Version_Action = p_CC_Acct_Version_Action,
794 CC_Charge_Code_Combination_Id = p_CC_Charge_Code_Comb_Id,
795 CC_Budget_Code_Combination_Id = p_CC_Budget_Code_Comb_Id,
796 CC_Acct_Entered_Amt = p_CC_Acct_Entered_Amt,
797 CC_Acct_Func_Amt = p_CC_Acct_Func_Amt,
798 CC_Acct_Desc = p_CC_Acct_Desc,
799 CC_Acct_Billed_Amt = p_CC_Acct_Billed_Amt,
800 CC_Acct_Unbilled_Amt = p_CC_Acct_Unbilled_Amt,
801 CC_Acct_Taxable_Flag = p_CC_Acct_Taxable_Flag,
802 Tax_Id = p_Tax_Id,
803 CC_Acct_Encmbrnc_Amt = p_CC_Acct_Encmbrnc_Amt,
804 CC_Acct_Encmbrnc_Date = p_CC_Acct_Encmbrnc_Date,
805 CC_Acct_Encmbrnc_Status = p_CC_Acct_Encmbrnc_Status,
806 Project_Id = p_Project_Id,
807 Task_Id = p_Task_Id,
808 Expenditure_Type = p_Expenditure_Type,
809 Expenditure_Org_Id = p_Expenditure_Org_Id,
810 Expenditure_Item_Date = p_Expenditure_Item_Date,
811 Last_Update_Date = p_Last_Update_Date,
812 Last_Updated_By = p_Last_Updated_By,
813 Last_Update_Login = p_Last_Update_Login,
814 Creation_Date = p_Creation_Date,
815 Created_By = p_Created_By,
816 Attribute1 = p_Attribute1,
817 Attribute2 = p_Attribute2,
818 Attribute3 = p_Attribute3,
819 Attribute4 = p_Attribute4,
820 Attribute5 = p_Attribute5,
821 Attribute6 = p_Attribute6,
822 Attribute7 = p_Attribute7,
823 Attribute8 = p_Attribute8,
824 Attribute9 = p_Attribute9,
825 Attribute10 = p_Attribute10,
826 Attribute11 = p_Attribute11,
827 Attribute12 = p_Attribute12,
828 Attribute13 = p_Attribute13,
829 Attribute14 = p_Attribute14,
830 Attribute15 = p_Attribute15,
831 Context = p_Context ,
832 cc_func_withheld_amt = p_cc_func_withheld_amt,
833 cc_ent_withheld_amt = p_cc_ent_withheld_amt,
834 Tax_Classif_Code = P_Tax_Classif_Code
835 WHERE rowid = p_Rowid;
836
837 IF (SQL%NOTFOUND) THEN
838 RAISE NO_DATA_FOUND;
839 END IF;
840
841 IF FND_API.To_Boolean ( p_commit ) THEN
842 COMMIT WORK;
843 END iF;
844
845 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
846 p_data => X_msg_data );
847
848 EXCEPTION
849
850 WHEN FND_API.G_EXC_ERROR THEN
851
852 ROLLBACK TO Update_Row_Pvt ;
853 X_return_status := FND_API.G_RET_STS_ERROR;
854 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
855 p_data => X_msg_data );
856
857 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
858
859 ROLLBACK TO Update_Row_Pvt ;
860 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
861 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
862 p_data => X_msg_data );
863
864 WHEN OTHERS THEN
865
866 ROLLBACK TO Update_Row_Pvt ;
867 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
868
869 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
870 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
871 l_api_name);
872 END if;
873
874 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
875 p_data => X_msg_data );
876
877 END Update_Row;
878
879
880 /* ================================================================================
881 PROCEDURE Delete_Row
882 ===============================================================================*/
883
884 PROCEDURE Delete_Row(
885 p_api_version IN NUMBER,
886 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
887 p_commit IN VARCHAR2 := FND_API.G_FALSE,
888 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
889 X_return_status OUT NOCOPY VARCHAR2,
890 X_msg_count OUT NOCOPY NUMBER,
891 X_msg_data OUT NOCOPY VARCHAR2,
892 p_Rowid VARCHAR2,
893 G_FLAG IN OUT NOCOPY VARCHAR2
894 ) IS
895
896 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Row';
897 l_api_version CONSTANT NUMBER := 1.0;
898
899 l_return_status VARCHAR2(1) ;
900 l_msg_count NUMBER ;
901 l_msg_data VARCHAR2(2000) ;
902
903 BEGIN
904
905 SAVEPOINT Delete_Row_Pvt ;
906
907 IF NOT FND_API.Compatible_API_Call ( l_api_version,
908 p_api_version,
909 l_api_name,
910 G_PKG_NAME )
911 THEN
912 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
913 END IF;
914
915
916 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
917 FND_MSG_PUB.initialize ;
918 END IF ;
919
920 X_return_status := FND_API.G_RET_STS_SUCCESS ;
921
922 DELETE
923 FROM IGC_CC_ACCT_LINE_HISTORY
924 WHERE rowid = p_Rowid;
925
926 IF (SQL%NOTFOUND) THEN
927 RAISE NO_DATA_FOUND;
928 END IF;
929
930 IF FND_API.To_Boolean ( p_commit ) THEN
931 COMMIT WORK;
932 END iF;
933
934 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
935 p_data => X_msg_data );
936
937 EXCEPTION
938
939 WHEN FND_API.G_EXC_ERROR THEN
940
941 ROLLBACK TO Delete_Row_Pvt ;
942 X_return_status := FND_API.G_RET_STS_ERROR;
943 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
944 p_data => X_msg_data );
945
946 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
947
948 ROLLBACK TO Delete_Row_Pvt ;
949 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
950 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
951 p_data => X_msg_data );
952
953 WHEN OTHERS THEN
954
955 ROLLBACK TO Delete_Row_Pvt ;
956 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
957
958 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
959 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
960 l_api_name);
961 END if;
962
963 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
964 p_data => X_msg_data );
965
966 END Delete_Row;
967
968
969 END IGC_CC_ACCT_LINE_HISTORY_PKG;