[Home] [Help]
PACKAGE BODY: APPS.IGC_CC_HEADERS_PKG
Source
1 PACKAGE BODY IGC_CC_HEADERS_PKG as
2 /* $Header: IGCCHDRB.pls 120.7.12000000.4 2007/10/19 06:44:14 smannava ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IGC_CC_HEADERS_PKG';
5 g_debug_flag VARCHAR2(1) := 'N' ;
6 g_debug_msg VARCHAR2(10000) := NULL;
7
8 -- g_debug_mode VARCHAR2(1) := NVL(FND_PROFILE.VALUE('IGC_DEBUG_ENABLED'),'N');
9 g_debug_mode VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
10
11 --Variables for ATG Central logging
12 g_debug_level NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
13 g_state_level NUMBER := FND_LOG.LEVEL_STATEMENT;
14 g_proc_level NUMBER := FND_LOG.LEVEL_PROCEDURE;
15 g_event_level NUMBER := FND_LOG.LEVEL_EVENT;
16 g_excep_level NUMBER := FND_LOG.LEVEL_EXCEPTION;
17 g_error_level NUMBER := FND_LOG.LEVEL_ERROR;
18 g_unexp_level NUMBER := FND_LOG.LEVEL_UNEXPECTED;
19 g_path VARCHAR2(255) := 'IGC.PLSQL.IGCCHDRB.IGC_CC_HEADERS_PKG.';
20
21 -- Generic Procedure for putting out debug information
22
23 /* ================================================================================
24 PROCEDURE Output_Debug
25 ===============================================================================*/
26
27 PROCEDURE Output_Debug (
28 p_path IN VARCHAR2,
29 p_debug_msg IN VARCHAR2
30 ) IS
31
32 -- --------------------------------------------------------------------
33 -- Local Variables :
34 -- --------------------------------------------------------------------
35 /* l_prod VARCHAR2(3) := 'IGC';
36 l_sub_comp VARCHAR2(8) := 'CC_HDRB';
37 l_profile_name VARCHAR2(255) := 'IGC_DEBUG_LOG_DIRECTORY';
38 l_Return_Status VARCHAR2(1);*/
39 l_api_name CONSTANT VARCHAR2(30) := 'Output_Debug';
40
41 BEGIN
42
43 /*IGC_MSGS_PKG.Put_Debug_Msg (p_debug_message => p_debug_msg,
44 p_profile_log_name => l_profile_name,
45 p_prod => l_prod,
46 p_sub_comp => l_sub_comp,
47 p_filename_val => NULL,
48 x_Return_Status => l_Return_Status
49 );
50
51 IF (l_Return_Status <> FND_API.G_RET_STS_SUCCESS) THEN
52 raise FND_API.G_EXC_ERROR;
53 END IF;*/
54
55 IF(g_state_level >= g_debug_level) THEN
56 FND_LOG.STRING(g_state_level, p_path, p_debug_msg);
57 END IF;
58
59 RETURN;
60
61 -- --------------------------------------------------------------------
62 -- Exception handler section for the Output_Debug procedure.
63 -- --------------------------------------------------------------------
64 EXCEPTION
65
66 /*WHEN FND_API.G_EXC_ERROR THEN
67 RETURN;*/
68
69 WHEN OTHERS THEN
70 IF (FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)) THEN
71 FND_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, l_api_name);
72 END IF;
73 RETURN;
74
75 END Output_Debug;
76
77 /* ================================================================================
78 PROCEDURE Insert_Row Overloaded Procedure for CC_REF_NUM addition
79 ===============================================================================*/
80
81 PROCEDURE Insert_Row(
82 p_api_version IN NUMBER,
83 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
84 p_commit IN VARCHAR2 := FND_API.G_FALSE,
85 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
86 X_return_status OUT NOCOPY VARCHAR2,
87 X_msg_count OUT NOCOPY NUMBER,
88 X_msg_data OUT NOCOPY VARCHAR2,
89 p_Rowid IN OUT NOCOPY VARCHAR2,
90 p_CC_Header_Id IGC_CC_HEADERS_ALL.CC_Header_Id%TYPE,
91 p_Org_id IGC_CC_HEADERS_ALL.Org_id%TYPE,
92 p_CC_Type IGC_CC_HEADERS_ALL.CC_Type%TYPE,
93 p_CC_Num IGC_CC_HEADERS_ALL.CC_Num%TYPE,
94 p_CC_Ref_Num IGC_CC_HEADERS_ALL.CC_Ref_Num%TYPE,
95 p_CC_Version_num IGC_CC_HEADERS_ALL.CC_Version_num%TYPE,
96 p_Parent_Header_Id IGC_CC_HEADERS_ALL.Parent_Header_Id%TYPE,
97 p_CC_State IGC_CC_HEADERS_ALL.CC_State%TYPE,
98 p_CC_ctrl_status IGC_CC_HEADERS_ALL.CC_ctrl_status%TYPE,
99 p_CC_Encmbrnc_Status IGC_CC_HEADERS_ALL.CC_Encmbrnc_Status%TYPE,
100 p_CC_Apprvl_Status IGC_CC_HEADERS_ALL.CC_Apprvl_Status%TYPE,
101 p_Vendor_Id IGC_CC_HEADERS_ALL.Vendor_Id%TYPE,
102 p_Vendor_Site_Id IGC_CC_HEADERS_ALL.Vendor_Site_Id%TYPE,
103 p_Vendor_Contact_Id IGC_CC_HEADERS_ALL.Vendor_Contact_Id%TYPE,
104 p_Term_Id IGC_CC_HEADERS_ALL.Term_Id%TYPE,
105 p_Location_Id IGC_CC_HEADERS_ALL.Location_Id%TYPE,
106 p_Set_Of_Books_Id IGC_CC_HEADERS_ALL.Set_Of_Books_Id%TYPE,
107 p_CC_Acct_Date IGC_CC_HEADERS_ALL.CC_Acct_Date%TYPE,
108 p_CC_Desc IGC_CC_HEADERS_ALL.CC_Desc%TYPE,
109 p_CC_Start_Date IGC_CC_HEADERS_ALL.CC_Start_Date%TYPE,
110 p_CC_End_Date IGC_CC_HEADERS_ALL.CC_End_Date%TYPE,
111 p_CC_Owner_User_Id IGC_CC_HEADERS_ALL.CC_Owner_User_Id%TYPE,
112 p_CC_Preparer_User_Id IGC_CC_HEADERS_ALL.CC_Preparer_User_Id%TYPE,
113 p_Currency_Code IGC_CC_HEADERS_ALL.Currency_Code%TYPE,
114 p_Conversion_Type IGC_CC_HEADERS_ALL.Conversion_Type%TYPE,
115 p_Conversion_Date IGC_CC_HEADERS_ALL.Conversion_Date%TYPE,
116 p_Conversion_Rate IGC_CC_HEADERS_ALL.Conversion_Rate%TYPE,
117 p_Last_Update_Date IGC_CC_HEADERS_ALL.Last_Update_Date%TYPE,
118 p_Last_Updated_By IGC_CC_HEADERS_ALL.Last_Updated_By%TYPE,
119 p_Last_Update_Login IGC_CC_HEADERS_ALL.Last_Update_Login%TYPE,
120 p_Created_By IGC_CC_HEADERS_ALL.Created_By%TYPE,
121 p_Creation_Date IGC_CC_HEADERS_ALL.Creation_Date%TYPE,
122 p_CC_Current_User_Id IGC_CC_HEADERS_ALL.CC_Current_User_Id%TYPE,
123 p_Wf_Item_Type IGC_CC_HEADERS_ALL.Wf_Item_Type%TYPE,
124 p_Wf_Item_Key IGC_CC_HEADERS_ALL.Wf_Item_Key%TYPE,
125 p_Attribute1 IGC_CC_HEADERS_ALL.Attribute1%TYPE,
126 p_Attribute2 IGC_CC_HEADERS_ALL.Attribute2%TYPE,
127 p_Attribute3 IGC_CC_HEADERS_ALL.Attribute3%TYPE,
128 p_Attribute4 IGC_CC_HEADERS_ALL.Attribute4%TYPE,
129 p_Attribute5 IGC_CC_HEADERS_ALL.Attribute5%TYPE,
130 p_Attribute6 IGC_CC_HEADERS_ALL.Attribute6%TYPE,
131 p_Attribute7 IGC_CC_HEADERS_ALL.Attribute7%TYPE,
132 p_Attribute8 IGC_CC_HEADERS_ALL.Attribute8%TYPE,
133 p_Attribute9 IGC_CC_HEADERS_ALL.Attribute9%TYPE,
134 p_Attribute10 IGC_CC_HEADERS_ALL.Attribute10%TYPE,
135 p_Attribute11 IGC_CC_HEADERS_ALL.Attribute11%TYPE,
136 p_Attribute12 IGC_CC_HEADERS_ALL.Attribute12%TYPE,
137 p_Attribute13 IGC_CC_HEADERS_ALL.Attribute13%TYPE,
138 p_Attribute14 IGC_CC_HEADERS_ALL.Attribute14%TYPE,
139 p_Attribute15 IGC_CC_HEADERS_ALL.Attribute15%TYPE,
140 p_Context IGC_CC_HEADERS_ALL.Context%TYPE,
141 p_CC_Guarantee_Flag IGC_CC_HEADERS_ALL.CC_Guarantee_Flag%TYPE,
142 G_FLAG IN OUT NOCOPY VARCHAR2
143 ) IS
144
145 l_api_name CONSTANT VARCHAR2(30) := 'Insert_Row';
146 l_api_version CONSTANT NUMBER := 1.0;
147 l_Application_Id NUMBER;
148 l_MRC_Enabled VARCHAR2(1);
149 l_Conversion_Date DATE;
150 l_action_flag VARCHAR2(1) := 'I';
151 l_return_status VARCHAR2(1);
152 -- l_debug VARCHAR2(1);
153
154 CURSOR c_cc_header_row_id IS
155 SELECT Rowid
156 FROM IGC_CC_HEADERS_ALL
157 WHERE CC_Header_id = p_CC_Header_id;
158
159 CURSOR c_igc_app_id IS
160 SELECT Application_Id
161 FROM FND_APPLICATION
162 WHERE Application_Short_Name = 'IGC';
163
164 l_full_path VARCHAR2(255);
165
166 BEGIN
167
168 l_full_path := g_path || 'Insert_Row';
169
170 SAVEPOINT Insert_Row_Pvt ;
171
172 -- -----------------------------------------------------------------
173 -- Ensure that the version requested to be used is correct for
174 -- this API.
175 -- -----------------------------------------------------------------
176 IF NOT FND_API.Compatible_API_Call ( l_api_version,
177 p_api_version,
178 l_api_name,
179 G_PKG_NAME )
180 THEN
181 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
182 END IF;
183
184
185 IF FND_API.to_Boolean (p_init_msg_list ) THEN
186 FND_MSG_PUB.initialize ;
187 END IF;
188
189 X_return_status := FND_API.G_RET_STS_SUCCESS ;
190 -- l_debug := FND_PROFILE.VALUE('IGC_DEBUG_ENABLED');
191
192 -- IF (l_debug = 'Y') THEN
193 -- l_debug := FND_API.G_TRUE;
194 -- ELSE
195 -- l_debug := FND_API.G_FALSE;
196 -- END IF;
197 -- IGC_MSGS_PKG.g_debug_mode := FND_API.TO_BOOLEAN(l_debug);
198
199 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
200 IF g_debug_mode = 'Y' THEN
201 g_debug_msg := ' IGCCHDRB -- Begin Insert Header ID Overload .....' || p_cc_header_id;
202 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
203 END IF;
204
205 -- -----------------------------------------------------------------
206 -- Insert the CC Header record as requested.
207 -- -----------------------------------------------------------------
208 INSERT
209 INTO IGC_CC_HEADERS_ALL
210 (CC_Header_Id,
211 Parent_Header_Id,
212 Org_Id,
213 CC_Type,
214 CC_Num,
215 CC_Ref_Num,
216 CC_Version_Num,
217 CC_State,
218 CC_Ctrl_Status,
219 CC_Encmbrnc_Status,
220 CC_Apprvl_Status,
221 Vendor_Id,
222 Vendor_Site_Id,
223 Vendor_Contact_Id,
224 Term_Id,
225 Location_Id,
226 Set_Of_Books_Id,
227 CC_Acct_Date,
228 CC_Desc,
229 CC_Start_Date,
230 CC_End_Date,
231 CC_Owner_User_Id,
232 CC_Preparer_User_Id,
233 Currency_Code,
234 Conversion_Type,
235 Conversion_Date,
236 Conversion_Rate,
237 Last_Update_Date,
238 Last_Updated_By,
239 Last_Update_Login,
240 Created_By,
241 Creation_Date,
242 Wf_Item_Type,
243 Wf_Item_Key,
244 CC_Current_User_Id,
245 Attribute1,
246 Attribute2,
247 Attribute3,
248 Attribute4,
249 Attribute5,
250 Attribute6,
251 Attribute7,
252 Attribute8,
253 Attribute9,
254 Attribute10,
255 Attribute11,
256 Attribute12,
257 Attribute13,
258 Attribute14,
259 Attribute15,
260 Context,
261 CC_Guarantee_Flag
262 )
263 VALUES
264 (p_CC_Header_Id,
265 p_Parent_Header_Id,
266 p_Org_id,
267 p_CC_Type,
268 p_CC_Num,
269 p_CC_Ref_Num,
270 p_CC_Version_num,
271 p_CC_State,
272 p_CC_ctrl_status,
273 p_CC_Encmbrnc_Status,
274 p_CC_Apprvl_Status,
275 p_Vendor_Id,
276 p_Vendor_Site_Id,
277 p_Vendor_Contact_Id,
278 p_Term_Id,
279 p_Location_Id,
280 p_Set_Of_Books_Id,
281 p_CC_Acct_Date,
282 p_CC_Desc,
283 p_CC_Start_Date,
284 p_CC_End_Date,
285 p_CC_Owner_User_Id,
286 p_CC_Preparer_User_Id,
287 p_Currency_Code,
288 p_Conversion_Type,
289 p_Conversion_Date,
290 p_Conversion_Rate,
291 p_Last_Update_Date,
292 p_Last_Updated_By,
293 p_Last_Update_Login,
294 p_Created_By,
295 p_Creation_Date,
296 p_Wf_Item_Type,
297 p_Wf_Item_Key,
298 p_CC_Current_User_Id,
299 p_Attribute1,
300 p_Attribute2,
301 p_Attribute3,
302 p_Attribute4,
303 p_Attribute5,
304 p_Attribute6,
305 p_Attribute7,
306 p_Attribute8,
307 p_Attribute9,
308 p_Attribute10,
309 p_Attribute11,
310 p_Attribute12,
311 p_Attribute13,
312 p_Attribute14,
313 p_Attribute15,
314 p_Context,
315 p_CC_Guarantee_Flag
316 );
317
318 -- -------------------------------------------------------------------
319 -- Obtain the ROWID of the record that was just inserted to return
320 -- to the caller.
321 -- -------------------------------------------------------------------
322 OPEN c_cc_header_row_id;
323 FETCH c_cc_header_row_id
324 INTO p_Rowid;
325
326 -- -------------------------------------------------------------------
327 -- If no ROWID can be obtained then exit the procedure with a failure
328 -- -------------------------------------------------------------------
329 IF (c_cc_header_row_id%NOTFOUND) THEN
330 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
331 IF g_debug_mode = 'Y' THEN
332 g_debug_msg := ' IGCCHDRB -- Failure getting rowid for Header ID Overload.....' || p_cc_header_id;
333 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
334 END IF;
335 RAISE FND_API.G_EXC_ERROR ;
336 END IF;
337
338 CLOSE c_cc_header_row_id;
339
340 -- ------------------------------------------------------------------
341 -- Obtain the application ID for IGC to be used for the MRC check
342 -- being enabled for this set of books.
343 -- ------------------------------------------------------------------
344 OPEN c_igc_app_id;
345 FETCH c_igc_app_id
346 INTO l_Application_Id;
347
348 -- ------------------------------------------------------------------
349 -- If the application ID can not be attained then exit the procedure
350 -- ------------------------------------------------------------------
351 IF (c_igc_app_id%NOTFOUND) THEN
352 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
353 IF g_debug_mode = 'Y' THEN
354 g_debug_msg := ' IGCCHDRB -- failure getting appl id for Header ID Overload .....' || p_cc_header_id;
355 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
356 END IF;
357 RAISE FND_API.G_EXC_ERROR;
358 END IF;
359
360 CLOSE c_igc_app_id;
361
362 -- ------------------------------------------------------------------
363 -- If the conversion date is NULL then fill in the value with the
364 -- current system date.
365 -- ------------------------------------------------------------------
366
367 gl_mc_info.mrc_enabled (p_Set_Of_Books_Id,
368 101, /*--l_Application_Id, commented for MRC uptake*/
369 p_Org_Id,
370 NULL,
371 l_MRC_Enabled
372 );
373
374 -- ------------------------------------------------------------------
375 -- If MRC is enabled for this set of books being used then call the
376 -- handler to insert all reporting set of books into the MRC
377 -- table for the account line inserted.
378 -- ------------------------------------------------------------------
379 IF (l_MRC_Enabled = 'Y') THEN
380
381 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
382 IF g_debug_mode = 'Y' THEN
383 g_debug_msg := ' IGCCHDRB -- MRC enabled for Header ID Overload .....' || p_cc_header_id;
384 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
385 END IF;
386
387 -- ------------------------------------------------------------------
388 -- MRC Handler For IGC_CC_HEADERS to insert all MRC records for
389 -- the reporting set of books for this PRIMARY set of books.
390 -- ------------------------------------------------------------------
391 IGC_CC_MC_MAIN_PVT.get_rsobs_Headers (l_api_version,
392 FND_API.G_FALSE,
393 FND_API.G_FALSE,
394 p_validation_level,
395 l_return_status,
396 X_msg_count,
397 X_msg_data,
398 p_CC_Header_Id,
399 p_Set_Of_Books_Id,
400 101, /*--l_Application_Id, commented for MRC uptake*/ p_org_Id,
401 SYSDATE,
402 l_action_flag
403 );
404
405 -- ------------------------------------------------------------------
406 -- Make sure that the insertion was a success
407 -- ------------------------------------------------------------------
408 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
409 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
410 IF g_debug_mode = 'Y' THEN
411 g_debug_msg := ' IGCCHDRB -- Failure returned from MRC call ID Overload .....' || p_cc_header_id;
412 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
413 END IF;
414 RAISE FND_API.G_EXC_ERROR;
415 END IF;
416
417 END IF;
418
419 -- -----------------------------------------------------------------
420 -- If the records are to be commited in this procedure then
421 -- commit the work now otherwise wait for the caller to do COMMIT.
422 -- -----------------------------------------------------------------
423 IF FND_API.To_Boolean ( p_commit ) THEN
424 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
425 IF g_debug_mode = 'Y' THEN
426 g_debug_msg := ' IGCCHDRB -- Committing Insert Header ID Overload .....' || p_cc_header_id;
427 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
428 END IF;
429 COMMIT WORK;
430 END iF;
431
432 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
433 p_data => X_msg_data );
434
435 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
436 IF g_debug_mode = 'Y' THEN
437 g_debug_msg := ' IGCCHDRB -- Done Insert Header ID Overload .....' || p_cc_header_id;
438 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
439 END IF;
440
441 RETURN;
442
443 EXCEPTION
444
445 WHEN FND_API.G_EXC_ERROR THEN
446
447 ROLLBACK TO Insert_Row_Pvt ;
448 X_return_status := FND_API.G_RET_STS_ERROR;
449 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
450 IF g_debug_mode = 'Y' THEN
451 g_debug_msg := ' IGCCHDRB -- Failure Execution on Header ID Overload .....' || p_cc_header_id;
452 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
453 END IF;
454 IF (c_cc_header_row_id%ISOPEN) THEN
455 CLOSE c_cc_header_row_id;
456 END IF;
457 IF (c_igc_app_id%ISOPEN) THEN
458 CLOSE c_igc_app_id;
459 END IF;
460 FND_MSG_PUB.Count_And_Get (p_count => X_msg_count,
461 p_data => X_msg_data );
462 IF (g_excep_level >= g_debug_level ) THEN
463 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_ERROR Exception Raised');
464 END IF;
465
466 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
467
468 ROLLBACK TO Insert_Row_Pvt ;
469 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
470 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
471 IF g_debug_mode = 'Y' THEN
472 g_debug_msg := ' IGCCHDRB -- Failure Unexpected on Header ID Overload .....' || p_cc_header_id;
473 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
474 END IF;
475 IF (c_cc_header_row_id%ISOPEN) THEN
476 CLOSE c_cc_header_row_id;
477 END IF;
478 IF (c_igc_app_id%ISOPEN) THEN
479 CLOSE c_igc_app_id;
480 END IF;
481 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
482 p_data => X_msg_data );
483 IF (g_excep_level >= g_debug_level ) THEN
484 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_UNEXPECTED_ERROR Exception Raised');
485 END IF;
486
487 WHEN OTHERS THEN
488
489 ROLLBACK TO Insert_Row_Pvt ;
490 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
491 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
492 IF g_debug_mode = 'Y' THEN
493 g_debug_msg := ' IGCCHDRB -- Failure Others on Header ID Overload .....' || p_cc_header_id;
494 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
495 END IF;
496 IF (c_cc_header_row_id%ISOPEN) THEN
497 CLOSE c_cc_header_row_id;
498 END IF;
499 IF (c_igc_app_id%ISOPEN) THEN
500 CLOSE c_igc_app_id;
501 END IF;
502
503 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
504 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
505 l_api_name);
506 END if;
507
508 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
509 p_data => X_msg_data );
510
511 IF ( g_unexp_level >= g_debug_level ) THEN
512 FND_MESSAGE.SET_NAME('IGC','IGC_LOGGING_UNEXP_ERROR');
513 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
514 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
515 FND_LOG.MESSAGE ( g_unexp_level,l_full_path, TRUE);
516 END IF;
517
518 END Insert_Row;
519
520 /* ================================================================================
521 PROCEDURE Insert_Row
522 ===============================================================================*/
523
524 PROCEDURE Insert_Row(
525 p_api_version IN NUMBER,
526 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
527 p_commit IN VARCHAR2 := FND_API.G_FALSE,
528 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
529 X_return_status OUT NOCOPY VARCHAR2,
530 X_msg_count OUT NOCOPY NUMBER,
531 X_msg_data OUT NOCOPY VARCHAR2,
532 p_Rowid IN OUT NOCOPY VARCHAR2,
533 p_CC_Header_Id IGC_CC_HEADERS_ALL.CC_Header_Id%TYPE,
534 p_Org_id IGC_CC_HEADERS_ALL.Org_id%TYPE,
535 p_CC_Type IGC_CC_HEADERS_ALL.CC_Type%TYPE,
536 p_CC_Num IGC_CC_HEADERS_ALL.CC_Num%TYPE,
537 p_CC_Version_num IGC_CC_HEADERS_ALL.CC_Version_num%TYPE,
538 p_Parent_Header_Id IGC_CC_HEADERS_ALL.Parent_Header_Id%TYPE,
539 p_CC_State IGC_CC_HEADERS_ALL.CC_State%TYPE,
540 p_CC_ctrl_status IGC_CC_HEADERS_ALL.CC_ctrl_status%TYPE,
541 p_CC_Encmbrnc_Status IGC_CC_HEADERS_ALL.CC_Encmbrnc_Status%TYPE,
542 p_CC_Apprvl_Status IGC_CC_HEADERS_ALL.CC_Apprvl_Status%TYPE,
543 p_Vendor_Id IGC_CC_HEADERS_ALL.Vendor_Id%TYPE,
544 p_Vendor_Site_Id IGC_CC_HEADERS_ALL.Vendor_Site_Id%TYPE,
545 p_Vendor_Contact_Id IGC_CC_HEADERS_ALL.Vendor_Contact_Id%TYPE,
546 p_Term_Id IGC_CC_HEADERS_ALL.Term_Id%TYPE,
547 p_Location_Id IGC_CC_HEADERS_ALL.Location_Id%TYPE,
548 p_Set_Of_Books_Id IGC_CC_HEADERS_ALL.Set_Of_Books_Id%TYPE,
549 p_CC_Acct_Date IGC_CC_HEADERS_ALL.CC_Acct_Date%TYPE,
550 p_CC_Desc IGC_CC_HEADERS_ALL.CC_Desc%TYPE,
551 p_CC_Start_Date IGC_CC_HEADERS_ALL.CC_Start_Date%TYPE,
552 p_CC_End_Date IGC_CC_HEADERS_ALL.CC_End_Date%TYPE,
553 p_CC_Owner_User_Id IGC_CC_HEADERS_ALL.CC_Owner_User_Id%TYPE,
554 p_CC_Preparer_User_Id IGC_CC_HEADERS_ALL.CC_Preparer_User_Id%TYPE,
555 p_Currency_Code IGC_CC_HEADERS_ALL.Currency_Code%TYPE,
556 p_Conversion_Type IGC_CC_HEADERS_ALL.Conversion_Type%TYPE,
557 p_Conversion_Date IGC_CC_HEADERS_ALL.Conversion_Date%TYPE,
558 p_Conversion_Rate IGC_CC_HEADERS_ALL.Conversion_Rate%TYPE,
559 p_Last_Update_Date IGC_CC_HEADERS_ALL.Last_Update_Date%TYPE,
560 p_Last_Updated_By IGC_CC_HEADERS_ALL.Last_Updated_By%TYPE,
561 p_Last_Update_Login IGC_CC_HEADERS_ALL.Last_Update_Login%TYPE,
562 p_Created_By IGC_CC_HEADERS_ALL.Created_By%TYPE,
563 p_Creation_Date IGC_CC_HEADERS_ALL.Creation_Date%TYPE,
564 p_CC_Current_User_Id IGC_CC_HEADERS_ALL.CC_Current_User_Id%TYPE,
565 p_Wf_Item_Type IGC_CC_HEADERS_ALL.Wf_Item_Type%TYPE,
566 p_Wf_Item_Key IGC_CC_HEADERS_ALL.Wf_Item_Key%TYPE,
567 p_Attribute1 IGC_CC_HEADERS_ALL.Attribute1%TYPE,
568 p_Attribute2 IGC_CC_HEADERS_ALL.Attribute2%TYPE,
569 p_Attribute3 IGC_CC_HEADERS_ALL.Attribute3%TYPE,
570 p_Attribute4 IGC_CC_HEADERS_ALL.Attribute4%TYPE,
571 p_Attribute5 IGC_CC_HEADERS_ALL.Attribute5%TYPE,
572 p_Attribute6 IGC_CC_HEADERS_ALL.Attribute6%TYPE,
573 p_Attribute7 IGC_CC_HEADERS_ALL.Attribute7%TYPE,
574 p_Attribute8 IGC_CC_HEADERS_ALL.Attribute8%TYPE,
575 p_Attribute9 IGC_CC_HEADERS_ALL.Attribute9%TYPE,
576 p_Attribute10 IGC_CC_HEADERS_ALL.Attribute10%TYPE,
577 p_Attribute11 IGC_CC_HEADERS_ALL.Attribute11%TYPE,
578 p_Attribute12 IGC_CC_HEADERS_ALL.Attribute12%TYPE,
579 p_Attribute13 IGC_CC_HEADERS_ALL.Attribute13%TYPE,
580 p_Attribute14 IGC_CC_HEADERS_ALL.Attribute14%TYPE,
581 p_Attribute15 IGC_CC_HEADERS_ALL.Attribute15%TYPE,
582 p_Context IGC_CC_HEADERS_ALL.Context%TYPE,
583 p_CC_Guarantee_Flag IGC_CC_HEADERS_ALL.CC_Guarantee_Flag%TYPE,
584 G_FLAG IN OUT NOCOPY VARCHAR2
585 ) IS
586
587 l_api_name CONSTANT VARCHAR2(30) := 'Insert_Row';
588 l_api_version CONSTANT NUMBER := 1.0;
589 l_Application_Id NUMBER;
590 l_MRC_Enabled VARCHAR2(1);
591 l_Conversion_Date DATE;
592 l_action_flag VARCHAR2(1) := 'I';
593 l_return_status VARCHAR2(1);
594 -- l_debug VARCHAR2(1);
595
596 CURSOR c_cc_header_row_id IS
597 SELECT Rowid
598 FROM IGC_CC_HEADERS_ALL
599 WHERE CC_Header_id = p_CC_Header_id;
600
601 CURSOR c_igc_app_id IS
602 SELECT Application_Id
603 FROM FND_APPLICATION
604 WHERE Application_Short_Name = 'IGC';
605
606 l_full_path VARCHAR2(255);
607
608 BEGIN
609
610 l_full_path := g_path || 'Insert_Row';
611
612 SAVEPOINT Insert_Row_Pvt ;
613
614 -- -----------------------------------------------------------------
615 -- Ensure that the version requested to be used is correct for
616 -- this API.
617 -- -----------------------------------------------------------------
618 IF NOT FND_API.Compatible_API_Call ( l_api_version,
619 p_api_version,
620 l_api_name,
621 G_PKG_NAME )
622 THEN
623 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
624 END IF;
625
626
627 IF FND_API.to_Boolean (p_init_msg_list ) THEN
628 FND_MSG_PUB.initialize ;
629 END IF;
630
631 X_return_status := FND_API.G_RET_STS_SUCCESS ;
632 -- l_debug := FND_PROFILE.VALUE('IGC_DEBUG_ENABLED');
633
634 -- IF (l_debug = 'Y') THEN
635 -- l_debug := FND_API.G_TRUE;
636 -- ELSE
637 -- l_debug := FND_API.G_FALSE;
638 -- END IF;
639 -- IGC_MSGS_PKG.g_debug_mode := FND_API.TO_BOOLEAN(l_debug);
640
641 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
642 IF g_debug_mode = 'Y' THEN
643 g_debug_msg := ' IGCCHDRB -- Begin Insert Header ID .....' || p_cc_header_id;
644 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
645 END IF;
646
647 -- -----------------------------------------------------------------
648 -- Insert the CC Header record as requested.
649 -- -----------------------------------------------------------------
650 INSERT
651 INTO IGC_CC_HEADERS_ALL
652 (CC_Header_Id,
653 Parent_Header_Id,
654 Org_Id,
655 CC_Type,
656 CC_Num,
657 CC_Version_Num,
658 CC_State,
659 CC_Ctrl_Status,
660 CC_Encmbrnc_Status,
661 CC_Apprvl_Status,
662 Vendor_Id,
663 Vendor_Site_Id,
664 Vendor_Contact_Id,
665 Term_Id,
666 Location_Id,
667 Set_Of_Books_Id,
668 CC_Acct_Date,
669 CC_Desc,
670 CC_Start_Date,
671 CC_End_Date,
672 CC_Owner_User_Id,
673 CC_Preparer_User_Id,
674 Currency_Code,
675 Conversion_Type,
676 Conversion_Date,
677 Conversion_Rate,
678 Last_Update_Date,
679 Last_Updated_By,
680 Last_Update_Login,
681 Created_By,
682 Creation_Date,
683 Wf_Item_Type,
684 Wf_Item_Key,
685 CC_Current_User_Id,
686 Attribute1,
687 Attribute2,
688 Attribute3,
689 Attribute4,
690 Attribute5,
691 Attribute6,
692 Attribute7,
693 Attribute8,
694 Attribute9,
695 Attribute10,
696 Attribute11,
697 Attribute12,
698 Attribute13,
699 Attribute14,
700 Attribute15,
701 Context,
702 CC_Guarantee_Flag
703 )
704 VALUES
705 (p_CC_Header_Id,
706 p_Parent_Header_Id,
707 p_Org_id,
708 p_CC_Type,
709 p_CC_Num,
710 p_CC_Version_num,
711 p_CC_State,
712 p_CC_ctrl_status,
713 p_CC_Encmbrnc_Status,
714 p_CC_Apprvl_Status,
715 p_Vendor_Id,
716 p_Vendor_Site_Id,
717 p_Vendor_Contact_Id,
718 p_Term_Id,
719 p_Location_Id,
720 p_Set_Of_Books_Id,
721 p_CC_Acct_Date,
722 p_CC_Desc,
723 p_CC_Start_Date,
724 p_CC_End_Date,
725 p_CC_Owner_User_Id,
726 p_CC_Preparer_User_Id,
727 p_Currency_Code,
728 p_Conversion_Type,
729 p_Conversion_Date,
730 p_Conversion_Rate,
731 p_Last_Update_Date,
732 p_Last_Updated_By,
733 p_Last_Update_Login,
734 p_Created_By,
735 p_Creation_Date,
736 p_Wf_Item_Type,
737 p_Wf_Item_Key,
738 p_CC_Current_User_Id,
739 p_Attribute1,
740 p_Attribute2,
741 p_Attribute3,
742 p_Attribute4,
743 p_Attribute5,
744 p_Attribute6,
745 p_Attribute7,
746 p_Attribute8,
747 p_Attribute9,
748 p_Attribute10,
749 p_Attribute11,
750 p_Attribute12,
751 p_Attribute13,
752 p_Attribute14,
753 p_Attribute15,
754 p_Context,
755 p_CC_Guarantee_Flag
756 );
757
758 -- -------------------------------------------------------------------
759 -- Obtain the ROWID of the record that was just inserted to return
760 -- to the caller.
761 -- -------------------------------------------------------------------
762 OPEN c_cc_header_row_id;
763 FETCH c_cc_header_row_id
764 INTO p_Rowid;
765
766 -- -------------------------------------------------------------------
767 -- If no ROWID can be obtained then exit the procedure with a failure
768 -- -------------------------------------------------------------------
769 IF (c_cc_header_row_id%NOTFOUND) THEN
770 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
771 IF g_debug_mode = 'Y' THEN
772 g_debug_msg := ' IGCCHDRB -- Failure getting rowid for Header ID .....' || p_cc_header_id;
773 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
774 END IF;
775 RAISE FND_API.G_EXC_ERROR ;
776 END IF;
777
778 CLOSE c_cc_header_row_id;
779
780 -- ------------------------------------------------------------------
781 -- Obtain the application ID for IGC to be used for the MRC check
782 -- being enabled for this set of books.
783 -- ------------------------------------------------------------------
784 OPEN c_igc_app_id;
785 FETCH c_igc_app_id
786 INTO l_Application_Id;
787
788 -- ------------------------------------------------------------------
789 -- If the application ID can not be attained then exit the procedure
790 -- ------------------------------------------------------------------
791 IF (c_igc_app_id%NOTFOUND) THEN
792 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
793 IF g_debug_mode = 'Y' THEN
794 g_debug_msg := ' IGCCHDRB -- failure getting appl id for Header ID .....' || p_cc_header_id;
795 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
796 END IF;
797 RAISE FND_API.G_EXC_ERROR;
798 END IF;
799
800 CLOSE c_igc_app_id;
801
802 -- ------------------------------------------------------------------
803 -- If the conversion date is NULL then fill in the value with the
804 -- current system date.
805 -- ------------------------------------------------------------------
806
807 gl_mc_info.mrc_enabled (p_Set_Of_Books_Id,
808 101, /*--l_Application_Id, commented for MRC uptake*/
809 p_Org_Id,
810 NULL,
811 l_MRC_Enabled
812 );
813
814 -- ------------------------------------------------------------------
815 -- If MRC is enabled for this set of books being used then call the
816 -- handler to insert all reporting set of books into the MRC
817 -- table for the account line inserted.
818 -- ------------------------------------------------------------------
819 IF (l_MRC_Enabled = 'Y') THEN
820
821 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
822 IF g_debug_mode = 'Y' THEN
823 g_debug_msg := ' IGCCHDRB -- MRC enabled for Header ID .....' || p_cc_header_id;
824 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
825 END IF;
826
827 -- ------------------------------------------------------------------
828 -- MRC Handler For IGC_CC_HEADERS to insert all MRC records for
829 -- the reporting set of books for this PRIMARY set of books.
830 -- ------------------------------------------------------------------
831 IGC_CC_MC_MAIN_PVT.get_rsobs_Headers (l_api_version,
832 FND_API.G_FALSE,
833 FND_API.G_FALSE,
834 p_validation_level,
835 l_return_status,
836 X_msg_count,
837 X_msg_data,
838 p_CC_Header_Id,
839 p_Set_Of_Books_Id,
840 101, /*--l_Application_Id, commented for MRC uptake*/ p_org_Id,
841 SYSDATE,
842 l_action_flag
843 );
844
845 -- ------------------------------------------------------------------
846 -- Make sure that the insertion was a success
847 -- ------------------------------------------------------------------
848 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
849 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
850 IF g_debug_mode = 'Y' THEN
851 g_debug_msg := ' IGCCHDRB -- Failure returned from MRC call ID .....' || p_cc_header_id;
852 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
853 END IF;
854 RAISE FND_API.G_EXC_ERROR;
855 END IF;
856
857 END IF;
858
859 -- -----------------------------------------------------------------
860 -- If the records are to be commited in this procedure then
861 -- commit the work now otherwise wait for the caller to do COMMIT.
862 -- -----------------------------------------------------------------
863 IF FND_API.To_Boolean ( p_commit ) THEN
864 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
865 IF g_debug_mode = 'Y' THEN
866 g_debug_msg := ' IGCCHDRB -- Committing Insert Header ID .....' || p_cc_header_id;
867 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
868 END IF;
869 COMMIT WORK;
870 END iF;
871
872 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
873 p_data => X_msg_data );
874
875 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
876 IF g_debug_mode = 'Y' THEN
877 g_debug_msg := ' IGCCHDRB -- Done Insert Header ID .....' || p_cc_header_id;
878 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
879 END IF;
880
881 RETURN;
882
883 EXCEPTION
884
885 WHEN FND_API.G_EXC_ERROR THEN
886
887 ROLLBACK TO Insert_Row_Pvt ;
888 X_return_status := FND_API.G_RET_STS_ERROR;
889 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
890 IF g_debug_mode = 'Y' THEN
891 g_debug_msg := ' IGCCHDRB -- Failure Execution on Header ID .....' || p_cc_header_id;
892 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
893 END IF;
894 IF (c_cc_header_row_id%ISOPEN) THEN
895 CLOSE c_cc_header_row_id;
896 END IF;
897 IF (c_igc_app_id%ISOPEN) THEN
898 CLOSE c_igc_app_id;
899 END IF;
900 FND_MSG_PUB.Count_And_Get (p_count => X_msg_count,
901 p_data => X_msg_data );
902 IF (g_excep_level >= g_debug_level ) THEN
903 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_ERROR Exception Raised');
904 END IF;
905
906 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
907
908 ROLLBACK TO Insert_Row_Pvt ;
909 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
910 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
911 IF g_debug_mode = 'Y' THEN
912 g_debug_msg := ' IGCCHDRB -- Failure Unexpected on Header ID .....' || p_cc_header_id;
913 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
914 END IF;
915 IF (c_cc_header_row_id%ISOPEN) THEN
916 CLOSE c_cc_header_row_id;
917 END IF;
918 IF (c_igc_app_id%ISOPEN) THEN
919 CLOSE c_igc_app_id;
920 END IF;
921 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
922 p_data => X_msg_data );
923 IF (g_excep_level >= g_debug_level ) THEN
924 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_UNEXPECTED_ERROR Exception Raised');
925 END IF;
926
927
928 WHEN OTHERS THEN
929
930 ROLLBACK TO Insert_Row_Pvt ;
931 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
932 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
933 IF g_debug_mode = 'Y' THEN
934 g_debug_msg := ' IGCCHDRB -- Failure Others on Header ID .....' || p_cc_header_id;
935 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
936 END IF;
937 IF (c_cc_header_row_id%ISOPEN) THEN
938 CLOSE c_cc_header_row_id;
939 END IF;
940 IF (c_igc_app_id%ISOPEN) THEN
941 CLOSE c_igc_app_id;
942 END IF;
943
944 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
945 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
946 l_api_name);
947 END if;
948
949 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
950 p_data => X_msg_data );
951 IF ( g_unexp_level >= g_debug_level ) THEN
952 FND_MESSAGE.SET_NAME('IGC','IGC_LOGGING_UNEXP_ERROR');
953 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
954 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
955 FND_LOG.MESSAGE ( g_unexp_level,l_full_path, TRUE);
956 END IF;
957
958 END Insert_Row;
959
960 /* ================================================================================
961 PROCEDURE Lock_Row
962 ===============================================================================*/
963
964 PROCEDURE Lock_Row(
965 p_api_version IN NUMBER,
966 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
967 p_commit IN VARCHAR2 := FND_API.G_FALSE,
968 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
969 X_return_status OUT NOCOPY VARCHAR2,
970 X_msg_count OUT NOCOPY NUMBER,
971 X_msg_data OUT NOCOPY VARCHAR2,
972 p_Rowid IN OUT NOCOPY VARCHAR2,
973 p_CC_Header_Id IGC_CC_HEADERS_ALL.CC_Header_Id%TYPE,
974 p_Org_id IGC_CC_HEADERS_ALL.Org_id%TYPE,
975 p_CC_Type IGC_CC_HEADERS_ALL.CC_Type%TYPE,
976 p_CC_Num IGC_CC_HEADERS_ALL.CC_Num%TYPE,
977 p_CC_Version_num IGC_CC_HEADERS_ALL.CC_Version_num%TYPE,
978 p_Parent_Header_Id IGC_CC_HEADERS_ALL.Parent_Header_Id%TYPE,
979 p_CC_State IGC_CC_HEADERS_ALL.CC_State%TYPE,
980 p_CC_ctrl_status IGC_CC_HEADERS_ALL.CC_ctrl_status%TYPE,
981 p_CC_Encmbrnc_Status IGC_CC_HEADERS_ALL.CC_Encmbrnc_Status%TYPE,
982 p_CC_Apprvl_Status IGC_CC_HEADERS_ALL.CC_Apprvl_Status%TYPE,
983 p_Vendor_Id IGC_CC_HEADERS_ALL.Vendor_Id%TYPE,
984 p_Vendor_Site_Id IGC_CC_HEADERS_ALL.Vendor_Site_Id%TYPE,
985 p_Vendor_Contact_Id IGC_CC_HEADERS_ALL.Vendor_Contact_Id%TYPE,
986 p_Term_Id IGC_CC_HEADERS_ALL.Term_Id%TYPE,
987 p_Location_Id IGC_CC_HEADERS_ALL.Location_Id%TYPE,
988 p_Set_Of_Books_Id IGC_CC_HEADERS_ALL.Set_Of_Books_Id%TYPE,
989 p_CC_Acct_Date IGC_CC_HEADERS_ALL.CC_Acct_Date%TYPE,
990 p_CC_Desc IGC_CC_HEADERS_ALL.CC_Desc%TYPE,
991 p_CC_Start_Date IGC_CC_HEADERS_ALL.CC_Start_Date%TYPE,
992 p_CC_End_Date IGC_CC_HEADERS_ALL.CC_End_Date%TYPE,
993 p_CC_Owner_User_Id IGC_CC_HEADERS_ALL.CC_Owner_User_Id%TYPE,
994 p_CC_Preparer_User_Id IGC_CC_HEADERS_ALL.CC_Preparer_User_Id%TYPE,
995 p_Currency_Code IGC_CC_HEADERS_ALL.Currency_Code%TYPE,
996 p_Conversion_Type IGC_CC_HEADERS_ALL.Conversion_Type%TYPE,
997 p_Conversion_Date IGC_CC_HEADERS_ALL.Conversion_Date%TYPE,
998 p_Conversion_Rate IGC_CC_HEADERS_ALL.Conversion_Rate%TYPE,
999 p_Last_Update_Date IGC_CC_HEADERS_ALL.Last_Update_Date%TYPE,
1000 p_Last_Updated_By IGC_CC_HEADERS_ALL.Last_Updated_By%TYPE,
1001 p_Last_Update_Login IGC_CC_HEADERS_ALL.Last_Update_Login%TYPE,
1002 p_Created_By IGC_CC_HEADERS_ALL.Created_By%TYPE,
1003 p_Creation_Date IGC_CC_HEADERS_ALL.Creation_Date%TYPE,
1004 p_CC_Current_User_Id IGC_CC_HEADERS_ALL.CC_Current_User_Id%TYPE,
1005 p_Wf_Item_Type IGC_CC_HEADERS_ALL.Wf_Item_Type%TYPE,
1006 p_Wf_Item_Key IGC_CC_HEADERS_ALL.Wf_Item_Key%TYPE,
1007 p_Attribute1 IGC_CC_HEADERS_ALL.Attribute1%TYPE,
1008 p_Attribute2 IGC_CC_HEADERS_ALL.Attribute2%TYPE,
1009 p_Attribute3 IGC_CC_HEADERS_ALL.Attribute3%TYPE,
1010 p_Attribute4 IGC_CC_HEADERS_ALL.Attribute4%TYPE,
1011 p_Attribute5 IGC_CC_HEADERS_ALL.Attribute5%TYPE,
1012 p_Attribute6 IGC_CC_HEADERS_ALL.Attribute6%TYPE,
1013 p_Attribute7 IGC_CC_HEADERS_ALL.Attribute7%TYPE,
1014 p_Attribute8 IGC_CC_HEADERS_ALL.Attribute8%TYPE,
1015 p_Attribute9 IGC_CC_HEADERS_ALL.Attribute9%TYPE,
1016 p_Attribute10 IGC_CC_HEADERS_ALL.Attribute10%TYPE,
1017 p_Attribute11 IGC_CC_HEADERS_ALL.Attribute11%TYPE,
1018 p_Attribute12 IGC_CC_HEADERS_ALL.Attribute12%TYPE,
1019 p_Attribute13 IGC_CC_HEADERS_ALL.Attribute13%TYPE,
1020 p_Attribute14 IGC_CC_HEADERS_ALL.Attribute14%TYPE,
1021 p_Attribute15 IGC_CC_HEADERS_ALL.Attribute15%TYPE,
1022 p_Context IGC_CC_HEADERS_ALL.Context%TYPE,
1023 p_CC_Guarantee_Flag IGC_CC_HEADERS_ALL.CC_Guarantee_Flag%TYPE,
1024 X_row_locked OUT NOCOPY VARCHAR2,
1025 G_FLAG IN OUT NOCOPY VARCHAR2
1026 ) IS
1027
1028 l_api_name CONSTANT VARCHAR2(30) := 'Lock_Row';
1029 l_api_version CONSTANT NUMBER := 1.0;
1030 Counter NUMBER;
1031 -- l_debug VARCHAR2(1);
1032
1033 CURSOR C IS
1034 SELECT *
1035 FROM IGC_CC_HEADERS_ALL
1036 WHERE rowid = p_Rowid
1037 FOR UPDATE of CC_Header_Id NOWAIT;
1038
1039 Recinfo C%ROWTYPE;
1040
1041 l_full_path VARCHAR2(255);
1042
1043 BEGIN
1044
1045 l_full_path := g_path || 'Lock_Row';
1046
1047 SAVEPOINT Lock_Row_Pvt ;
1048
1049 IF NOT FND_API.Compatible_API_Call ( l_api_version,
1050 p_api_version,
1051 l_api_name,
1052 G_PKG_NAME )
1053 THEN
1054 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1055 END IF;
1056
1057
1058 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1059 FND_MSG_PUB.initialize ;
1060 END IF;
1061
1062 X_return_status := FND_API.G_RET_STS_SUCCESS ;
1063 X_row_locked := FND_API.G_TRUE ;
1064 -- l_debug := FND_PROFILE.VALUE('IGC_DEBUG_ENABLED');
1065
1066 -- IF (l_debug = 'Y') THEN
1067 -- l_debug := FND_API.G_TRUE;
1068 -- ELSE
1069 -- l_debug := FND_API.G_FALSE;
1070 -- END IF;
1071 -- IGC_MSGS_PKG.g_debug_mode := FND_API.TO_BOOLEAN(l_debug);
1072
1073 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1074 IF g_debug_mode = 'Y' THEN
1075 g_debug_msg := ' IGCCHDRB -- Begin Lock Row Header ID .....' || p_cc_header_id;
1076 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1077 END IF;
1078
1079 OPEN C;
1080 FETCH C
1081 INTO Recinfo;
1082
1083 IF (C%NOTFOUND) THEN
1084 CLOSE C;
1085 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
1086 FND_MSG_PUB.Add;
1087 IF (g_excep_level >= g_debug_level ) THEN
1088 FND_LOG.MESSAGE (g_excep_level ,l_full_path,FALSE);
1089 END IF;
1090 RAISE FND_API.G_EXC_ERROR;
1091 END IF;
1092
1093 CLOSE C;
1094
1095 IF (
1096 (Recinfo.CC_Header_Id = p_CC_Header_Id)
1097 AND (Recinfo.Org_Id = p_Org_Id)
1098 AND (Recinfo.CC_Type = p_CC_Type)
1099 AND (Recinfo.CC_Num = p_CC_Num)
1100 AND (Recinfo.CC_Version_Num = p_CC_Version_Num)
1101 -- AND (Recinfo.CC_state = p_CC_State)
1102 --AND (Recinfo.CC_Ctrl_Status = p_CC_Ctrl_Status)
1103 --AND (Recinfo.CC_Apprvl_Status = p_CC_Apprvl_Status)
1104 AND (Recinfo.Set_Of_Books_Id = p_Set_Of_Books_Id)
1105 AND (Recinfo.CC_Owner_User_Id = p_CC_Owner_User_Id)
1106 AND (Recinfo.CC_Preparer_User_Id = p_CC_Preparer_User_Id)
1107 AND ( (Recinfo.Parent_Header_Id = p_Parent_Header_Id)
1108 OR ( (Recinfo.Parent_Header_Id IS NULL)
1109 AND (p_Parent_Header_Id IS NULL)))
1110 -- AND ( (Recinfo.CC_Encmbrnc_Status = p_CC_Encmbrnc_Status)
1111 -- OR ( (Recinfo.CC_Encmbrnc_Status IS NULL)
1112 -- AND (p_CC_Encmbrnc_Status IS NULL)))
1113 AND ( (Recinfo.Vendor_Id = p_Vendor_Id)
1114 OR ( (Recinfo.Vendor_Id IS NULL)
1115 AND (p_Vendor_Id IS NULL)))
1116 AND ( (Recinfo.Vendor_Site_Id = p_Vendor_Site_Id)
1117 OR ( (Recinfo.Vendor_Site_Id IS NULL)
1118 AND (p_Vendor_Site_Id IS NULL)))
1119 AND ( (Recinfo.Vendor_Contact_Id = p_Vendor_Contact_Id)
1120 OR ( (Recinfo.Vendor_Contact_Id IS NULL)
1121 AND (p_Vendor_Contact_Id IS NULL)))
1122 AND ( (Recinfo.Term_Id = p_Term_Id)
1123 OR ( (Recinfo.Term_Id IS NULL)
1124 AND (p_Term_Id IS NULL)))
1125 AND ( (Recinfo.Location_Id = p_Location_Id)
1126 OR ( (Recinfo.Location_Id IS NULL)
1127 AND (p_Location_Id IS NULL)))
1128 AND ( (Recinfo.CC_Acct_Date = p_CC_Acct_Date)
1129 OR ( (Recinfo.CC_Acct_Date IS NULL)
1130 AND (p_CC_Acct_Date IS NULL)))
1131 AND ( (Recinfo.CC_Desc = p_CC_Desc)
1132 OR ( (Recinfo.CC_Desc IS NULL)
1133 AND (p_CC_Desc IS NULL)))
1134 AND ( (Recinfo.CC_Start_Date = p_CC_Start_Date)
1135 OR ( (Recinfo.CC_Start_Date IS NULL)
1136 AND (p_CC_Start_Date IS NULL)))
1137 AND ( (Recinfo.CC_End_Date = p_CC_End_Date)
1138 OR ( (Recinfo.CC_End_Date IS NULL)
1139 AND (p_CC_End_Date IS NULL)))
1140 AND ( (Recinfo.Currency_Code = p_Currency_Code)
1141 OR ( (Recinfo.Currency_Code IS NULL)
1142 AND (p_Currency_Code IS NULL)))
1143 AND ( (Recinfo.Conversion_Type = p_Conversion_Type)
1144 OR ( (Recinfo.Conversion_Type IS NULL)
1145 AND (p_Conversion_Type IS NULL)))
1146 AND ( (Recinfo.Conversion_Date = p_Conversion_Date)
1147 OR ( (Recinfo.Conversion_Date IS NULL)
1148 AND (p_Conversion_Date IS NULL)))
1149 AND ( (Recinfo.Conversion_Rate = p_Conversion_Rate)
1150 OR ( (Recinfo.Conversion_Rate IS NULL)
1151 AND (p_Conversion_Rate IS NULL)))
1152 -- AND ( (Recinfo.WF_Item_Type = p_WF_Item_Type)
1153 -- OR ( (Recinfo.WF_Item_Type IS NULL)
1154 -- AND (p_WF_Item_Type IS NULL)))
1155 -- AND ( (Recinfo.WF_Item_Key = p_WF_Item_Key)
1156 -- OR ( (Recinfo.WF_Item_Key IS NULL)
1157 -- AND (p_WF_Item_Key IS NULL)))
1158 -- AND ( (Recinfo.CC_Current_User_Id = p_CC_Current_User_Id)
1159 -- OR ( (Recinfo.CC_Current_User_Id IS NULL)
1160 -- AND (p_CC_Current_User_Id IS NULL)))
1161 AND ( (Recinfo.Attribute1 = p_Attribute1)
1162 OR ( (Recinfo.Attribute1 IS NULL)
1163 AND (p_Attribute1 IS NULL)))
1164 AND ( (Recinfo.Attribute2 = p_Attribute2)
1165 OR ( (Recinfo.Attribute2 IS NULL)
1166 AND (p_Attribute2 IS NULL)))
1167 AND ( (Recinfo.Attribute3 = p_Attribute3)
1168 OR ( (Recinfo.Attribute3 IS NULL)
1169 AND (p_Attribute3 IS NULL)))
1170 AND ( (Recinfo.Attribute4 = p_Attribute4)
1171 OR ( (Recinfo.Attribute4 IS NULL)
1172 AND (p_Attribute4 IS NULL)))
1173 AND ( (Recinfo.Attribute5 = p_Attribute5)
1174 OR ( (Recinfo.Attribute5 IS NULL)
1175 AND (p_Attribute5 IS NULL)))
1176 AND ( (Recinfo.Attribute6 = p_Attribute6)
1177 OR ( (Recinfo.Attribute6 IS NULL)
1178 AND (p_Attribute6 IS NULL)))
1179 AND ( (Recinfo.Attribute7 = p_Attribute7)
1180 OR ( (Recinfo.Attribute7 IS NULL)
1181 AND (p_Attribute7 IS NULL)))
1182 AND ( (Recinfo.Attribute8 = p_Attribute8)
1183 OR ( (Recinfo.Attribute8 IS NULL)
1184 AND (p_Attribute8 IS NULL)))
1185 AND ( (Recinfo.Attribute9 = p_Attribute9)
1186 OR ( (Recinfo.Attribute9 IS NULL)
1187 AND (p_Attribute9 IS NULL)))
1188 AND ( (Recinfo.Attribute10 = p_Attribute10)
1189 OR ( (Recinfo.Attribute10 IS NULL)
1190 AND (p_Attribute10 IS NULL)))
1191 AND ( (Recinfo.Attribute11 = p_Attribute11)
1192 OR ( (Recinfo.Attribute11 IS NULL)
1193 AND (p_Attribute11 IS NULL)))
1194 AND ( (Recinfo.Attribute12 = p_Attribute12)
1195 OR ( (Recinfo.Attribute12 IS NULL)
1196 AND (p_Attribute12 IS NULL)))
1197 AND ( (Recinfo.Attribute13 = p_Attribute13)
1198 OR ( (Recinfo.Attribute13 IS NULL)
1199 AND (p_Attribute13 IS NULL)))
1200 AND ( (Recinfo.Attribute14 = p_Attribute14)
1201 OR ( (Recinfo.Attribute14 IS NULL)
1202 AND (p_Attribute14 IS NULL)))
1203 AND ( (Recinfo.Attribute15 = p_Attribute15)
1204 OR ( (Recinfo.Attribute15 IS NULL)
1205 AND (p_Attribute15 IS NULL)))
1206 AND ( (Recinfo.Context = p_Context)
1207 OR ( (Recinfo.Context IS NULL)
1208 AND (p_Context IS NULL)))
1209 AND ( (Recinfo.CC_Guarantee_Flag = p_CC_Guarantee_Flag)
1210 OR ( (Recinfo.CC_Guarantee_Flag IS NULL)
1211 AND (p_CC_Guarantee_Flag IS NULL)))
1212 ) THEN
1213
1214 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1215 IF g_debug_mode = 'Y' THEN
1216 g_debug_msg := ' IGCCHDRB -- Locked Row Header ID .....' || p_cc_header_id;
1217 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1218 END IF;
1219
1220 NULL;
1221
1222 ELSE
1223
1224 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1225 IF g_debug_mode = 'Y' THEN
1226 g_debug_msg := ' IGCCHDRB -- Failed Lock Row Header ID .....' || p_cc_header_id;
1227 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1228 END IF;
1229
1230 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
1231 FND_MSG_PUB.Add;
1232 IF (g_excep_level >= g_debug_level ) THEN
1233 FND_LOG.MESSAGE (g_excep_level , l_full_path,FALSE);
1234 END IF;
1235 RAISE FND_API.G_EXC_ERROR ;
1236
1237 END IF;
1238
1239 IF FND_API.To_Boolean ( p_commit ) THEN
1240 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1241 IF g_debug_mode = 'Y' THEN
1242 g_debug_msg := ' IGCCHDRB -- Committing Lock Row Header ID .....' || p_cc_header_id;
1243 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1244 END IF;
1245
1246 COMMIT WORK;
1247 END iF;
1248
1249 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1250 p_data => X_msg_data );
1251
1252 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1253 IF g_debug_mode = 'Y' THEN
1254 g_debug_msg := ' IGCCHDRB -- End Lock Row Header ID .....' || p_cc_header_id;
1255 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1256 END IF;
1257
1258 RETURN;
1259
1260 EXCEPTION
1261
1262 WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
1263
1264 ROLLBACK TO Lock_Row_Pvt ;
1265 X_row_locked := FND_API.G_FALSE;
1266 X_return_status := FND_API.G_RET_STS_ERROR;
1267 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1268 IF g_debug_mode = 'Y' THEN
1269 g_debug_msg := ' IGCCHDRB -- Failure Record Lock Exc Header ID .....' || p_cc_header_id;
1270 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1271 END IF;
1272
1273 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1274 p_data => X_msg_data );
1275 IF (g_excep_level >= g_debug_level ) THEN
1276 FND_LOG.STRING (g_excep_level,l_full_path,'APP_EXCEPTION.RECORD_LOCK_EXCEPTION Exception Raised');
1277 END IF;
1278
1279 WHEN FND_API.G_EXC_ERROR THEN
1280
1281 ROLLBACK TO Lock_Row_Pvt ;
1282 X_return_status := FND_API.G_RET_STS_ERROR;
1283 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1284 IF g_debug_mode = 'Y' THEN
1285 g_debug_msg := ' IGCCHDRB -- Failure Execute Lock Header ID .....' || p_cc_header_id;
1286 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1287 END IF;
1288
1289 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1290 p_data => X_msg_data );
1291 IF (g_excep_level >= g_debug_level ) THEN
1292 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_ERROR Exception Raised');
1293 END IF;
1294
1295 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1296
1297 ROLLBACK TO Lock_Row_Pvt ;
1298 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1299 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1300 IF g_debug_mode = 'Y' THEN
1301 g_debug_msg := ' IGCCHDRB -- Failure Unexpected Lock Header ID .....' || p_cc_header_id;
1302 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1303 END IF;
1304 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1305 p_data => X_msg_data );
1306 IF (g_excep_level >= g_debug_level ) THEN
1307 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_UNEXPECTED_ERROR Exception Raised');
1308 END IF;
1309
1310 WHEN OTHERS THEN
1311
1312 ROLLBACK TO Lock_Row_Pvt ;
1313 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1314 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1315 IF g_debug_mode = 'Y' THEN
1316 g_debug_msg := ' IGCCHDRB -- Failure Others Lock Header ID .....' || p_cc_header_id;
1317 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1318 END IF;
1319
1320 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1321 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
1322 l_api_name);
1323 END if;
1324
1325 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1326 p_data => X_msg_data );
1327 IF ( g_unexp_level >= g_debug_level ) THEN
1328 FND_MESSAGE.SET_NAME('IGC','IGC_LOGGING_UNEXP_ERROR');
1329 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
1330 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
1331 FND_LOG.MESSAGE ( g_unexp_level,l_full_path, TRUE);
1332 END IF;
1333
1334 END Lock_Row;
1335
1336 /* ================================================================================
1337 PROCEDURE Update_Row Overloaded Procedure for CC_REF_NUM addition
1338 ===============================================================================*/
1339
1340 PROCEDURE Update_Row(
1341 p_api_version IN NUMBER,
1342 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1343 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1344 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1345 X_return_status OUT NOCOPY VARCHAR2,
1346 X_msg_count OUT NOCOPY NUMBER,
1347 X_msg_data OUT NOCOPY VARCHAR2,
1348 p_Rowid IN OUT NOCOPY VARCHAR2,
1349 p_CC_Header_Id IGC_CC_HEADERS_ALL.CC_Header_Id%TYPE,
1350 p_Org_id IGC_CC_HEADERS_ALL.Org_id%TYPE,
1351 p_CC_Type IGC_CC_HEADERS_ALL.CC_Type%TYPE,
1352 p_CC_Num IGC_CC_HEADERS_ALL.CC_Num%TYPE,
1353 p_CC_Ref_Num IGC_CC_HEADERS_ALL.CC_Ref_Num%TYPE,
1354 p_CC_Version_num IGC_CC_HEADERS_ALL.CC_Version_num%TYPE,
1355 p_Parent_Header_Id IGC_CC_HEADERS_ALL.Parent_Header_Id%TYPE,
1356 p_CC_State IGC_CC_HEADERS_ALL.CC_State%TYPE,
1357 p_CC_ctrl_status IGC_CC_HEADERS_ALL.CC_ctrl_status%TYPE,
1358 p_CC_Encmbrnc_Status IGC_CC_HEADERS_ALL.CC_Encmbrnc_Status%TYPE,
1359 p_CC_Apprvl_Status IGC_CC_HEADERS_ALL.CC_Apprvl_Status%TYPE,
1360 p_Vendor_Id IGC_CC_HEADERS_ALL.Vendor_Id%TYPE,
1361 p_Vendor_Site_Id IGC_CC_HEADERS_ALL.Vendor_Site_Id%TYPE,
1362 p_Vendor_Contact_Id IGC_CC_HEADERS_ALL.Vendor_Contact_Id%TYPE,
1363 p_Term_Id IGC_CC_HEADERS_ALL.Term_Id%TYPE,
1364 p_Location_Id IGC_CC_HEADERS_ALL.Location_Id%TYPE,
1365 p_Set_Of_Books_Id IGC_CC_HEADERS_ALL.Set_Of_Books_Id%TYPE,
1366 p_CC_Acct_Date IGC_CC_HEADERS_ALL.CC_Acct_Date%TYPE,
1367 p_CC_Desc IGC_CC_HEADERS_ALL.CC_Desc%TYPE,
1368 p_CC_Start_Date IGC_CC_HEADERS_ALL.CC_Start_Date%TYPE,
1369 p_CC_End_Date IGC_CC_HEADERS_ALL.CC_End_Date%TYPE,
1370 p_CC_Owner_User_Id IGC_CC_HEADERS_ALL.CC_Owner_User_Id%TYPE,
1371 p_CC_Preparer_User_Id IGC_CC_HEADERS_ALL.CC_Preparer_User_Id%TYPE,
1372 p_Currency_Code IGC_CC_HEADERS_ALL.Currency_Code%TYPE,
1373 p_Conversion_Type IGC_CC_HEADERS_ALL.Conversion_Type%TYPE,
1374 p_Conversion_Date IGC_CC_HEADERS_ALL.Conversion_Date%TYPE,
1375 p_Conversion_Rate IGC_CC_HEADERS_ALL.Conversion_Rate%TYPE,
1376 p_Last_Update_Date IGC_CC_HEADERS_ALL.Last_Update_Date%TYPE,
1377 p_Last_Updated_By IGC_CC_HEADERS_ALL.Last_Updated_By%TYPE,
1378 p_Last_Update_Login IGC_CC_HEADERS_ALL.Last_Update_Login%TYPE,
1379 p_Created_By IGC_CC_HEADERS_ALL.Created_By%TYPE,
1380 p_Creation_Date IGC_CC_HEADERS_ALL.Creation_Date%TYPE,
1381 p_CC_Current_User_Id IGC_CC_HEADERS_ALL.CC_Current_User_Id%TYPE,
1382 p_Wf_Item_Type IGC_CC_HEADERS_ALL.Wf_Item_Type%TYPE,
1383 p_Wf_Item_Key IGC_CC_HEADERS_ALL.Wf_Item_Key%TYPE,
1384 p_Attribute1 IGC_CC_HEADERS_ALL.Attribute1%TYPE,
1385 p_Attribute2 IGC_CC_HEADERS_ALL.Attribute2%TYPE,
1386 p_Attribute3 IGC_CC_HEADERS_ALL.Attribute3%TYPE,
1387 p_Attribute4 IGC_CC_HEADERS_ALL.Attribute4%TYPE,
1388 p_Attribute5 IGC_CC_HEADERS_ALL.Attribute5%TYPE,
1389 p_Attribute6 IGC_CC_HEADERS_ALL.Attribute6%TYPE,
1390 p_Attribute7 IGC_CC_HEADERS_ALL.Attribute7%TYPE,
1391 p_Attribute8 IGC_CC_HEADERS_ALL.Attribute8%TYPE,
1392 p_Attribute9 IGC_CC_HEADERS_ALL.Attribute9%TYPE,
1393 p_Attribute10 IGC_CC_HEADERS_ALL.Attribute10%TYPE,
1394 p_Attribute11 IGC_CC_HEADERS_ALL.Attribute11%TYPE,
1395 p_Attribute12 IGC_CC_HEADERS_ALL.Attribute12%TYPE,
1396 p_Attribute13 IGC_CC_HEADERS_ALL.Attribute13%TYPE,
1397 p_Attribute14 IGC_CC_HEADERS_ALL.Attribute14%TYPE,
1398 p_Attribute15 IGC_CC_HEADERS_ALL.Attribute15%TYPe,
1399 p_Context IGC_CC_HEADERS_ALL.Context%TYPE,
1400 p_CC_Guarantee_Flag IGC_CC_HEADERS_ALL.CC_Guarantee_Flag%TYPE,
1401 G_FLAG IN OUT NOCOPY VARCHAR2
1402 ) IS
1403
1404 l_api_name CONSTANT VARCHAR2(30) := 'Update_Row';
1405 l_api_version CONSTANT NUMBER := 1.0;
1406 l_Application_Id NUMBER;
1407 l_MRC_Enabled VARCHAR2(1);
1408 l_Conversion_Date DATE;
1409 l_action_flag VARCHAR2(1) := 'U';
1410 l_return_status VARCHAR2(1);
1411 -- l_debug VARCHAR2(1);
1412
1413 CURSOR c_igc_app_id IS
1414 SELECT Application_Id
1415 FROM FND_APPLICATION
1416 WHERE Application_Short_Name = 'IGC';
1417
1418 l_full_path VARCHAR2(255);
1419
1420 BEGIN
1421
1422 l_full_path := g_path || 'Update_Row';
1423
1424 SAVEPOINT Update_Row_Pvt ;
1425
1426 -- -----------------------------------------------------------------
1427 -- Ensure that the version requested to be used is correct for
1428 -- this API.
1429 -- -----------------------------------------------------------------
1430 IF NOT FND_API.Compatible_API_Call ( l_api_version,
1431 p_api_version,
1432 l_api_name,
1433 G_PKG_NAME )
1434 THEN
1435 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1436 END IF;
1437
1438 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1439 FND_MSG_PUB.initialize ;
1440 END IF;
1441
1442 X_return_status := FND_API.G_RET_STS_SUCCESS ;
1443 -- l_debug := FND_PROFILE.VALUE('IGC_DEBUG_ENABLED');
1444
1445 -- IF (l_debug = 'Y') THEN
1446 -- l_debug := FND_API.G_TRUE;
1447 -- ELSE
1448 -- l_debug := FND_API.G_FALSE;
1449 -- END IF;
1450 -- IGC_MSGS_PKG.g_debug_mode := FND_API.TO_BOOLEAN(l_debug);
1451
1452 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1453 IF g_debug_mode = 'Y' THEN
1454 g_debug_msg := ' IGCCHDRB -- Begin Update Row Header ID Overload .....' || p_cc_header_id;
1455 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1456 END IF;
1457
1458 -- --------------------------------------------------------------------------
1459 -- Update the CC Header Record
1460 -- --------------------------------------------------------------------------
1461 UPDATE IGC_CC_HEADERS_ALL
1462 SET CC_Header_Id = p_CC_Header_Id,
1463 Parent_Header_Id = p_Parent_Header_Id,
1464 Org_Id = p_Org_id,
1465 CC_Type = p_CC_Type,
1466 CC_Num = p_CC_Num,
1467 CC_Ref_Num = p_CC_Ref_Num,
1468 CC_Version_Num = p_CC_Version_num,
1469 CC_State = p_CC_State,
1470 CC_ctrl_status = p_CC_ctrl_status ,
1471 CC_Encmbrnc_Status = p_CC_Encmbrnc_Status,
1472 CC_Apprvl_Status = p_CC_Apprvl_Status,
1473 Vendor_Id = p_Vendor_Id,
1474 Vendor_Site_Id = p_Vendor_Site_Id,
1475 Vendor_Contact_Id = p_Vendor_Contact_Id,
1476 Term_Id = p_Term_Id,
1477 Location_Id = p_Location_Id,
1478 Set_Of_Books_Id = p_Set_Of_Books_Id,
1479 CC_Acct_Date = p_CC_Acct_Date,
1480 CC_Desc = p_CC_Desc,
1481 CC_Start_Date = p_CC_Start_Date,
1482 CC_End_Date = p_CC_End_Date,
1483 CC_Owner_User_Id = p_CC_Owner_User_Id,
1484 CC_Preparer_User_Id = p_CC_Preparer_User_Id,
1485 Currency_Code = p_Currency_Code,
1486 Conversion_Type = p_Conversion_Type,
1487 Conversion_Date = p_Conversion_Date,
1488 Conversion_Rate = p_Conversion_Rate,
1489 Last_Update_Date = p_Last_Update_Date,
1490 Last_Updated_By = p_Last_Updated_By,
1491 Last_Update_Login = p_Last_Update_Login,
1492 Created_By = p_Created_By,
1493 Creation_Date = p_Creation_Date,
1494 Wf_Item_Type = p_Wf_Item_Type,
1495 Wf_Item_Key = p_Wf_Item_Key,
1496 CC_Current_User_Id = p_CC_Current_User_Id,
1497 Attribute1 = p_Attribute1,
1498 Attribute2 = p_Attribute2,
1499 Attribute3 = p_Attribute3,
1500 Attribute4 = p_Attribute4,
1501 Attribute5 = p_Attribute5,
1502 Attribute6 = p_Attribute6,
1503 Attribute7 = p_Attribute7,
1504 Attribute8 = p_Attribute8,
1505 Attribute9 = p_Attribute9,
1506 Attribute10 = p_Attribute10,
1507 Attribute11 = p_Attribute11,
1508 Attribute12 = p_Attribute12,
1509 Attribute13 = p_Attribute13,
1510 Attribute14 = p_Attribute14,
1511 Attribute15 = p_Attribute15,
1512 Context = p_Context,
1513 CC_Guarantee_Flag = p_CC_Guarantee_Flag
1514 WHERE rowid = p_Rowid;
1515
1516 IF (SQL%NOTFOUND) THEN
1517 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1518 IF g_debug_mode = 'Y' THEN
1519 g_debug_msg := ' IGCCHDRB -- Failure Update Row Header ID Overload .....' || p_cc_header_id;
1520 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1521 END IF;
1522 RAISE NO_DATA_FOUND;
1523 END IF;
1524
1525 -- -------------------------------------------------------------------------
1526 -- Obtain the information required for doing the update for the MRC
1527 -- records and reporting sets of books.
1528 -- -------------------------------------------------------------------------
1529 OPEN c_igc_app_id;
1530 FETCH c_igc_app_id
1531 INTO l_Application_Id;
1532
1533 -- ------------------------------------------------------------------
1534 -- If the application ID can not be attained then exit the procedure
1535 -- ------------------------------------------------------------------
1536 IF (c_igc_app_id%NOTFOUND) THEN
1537 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1538 IF g_debug_mode = 'Y' THEN
1539 g_debug_msg := ' IGCCHDRB -- Failure getting appl ID for Upd Header Overload .....' || p_cc_header_id;
1540 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1541 END IF;
1542 RAISE FND_API.G_EXC_ERROR;
1543 END IF;
1544
1545 CLOSE c_igc_app_id;
1546
1547 -- ------------------------------------------------------------------
1548 -- If the conversion date is NULL then fill in the value with the
1549 -- current system date.
1550 -- ------------------------------------------------------------------
1551
1552 gl_mc_info.mrc_enabled (p_Set_Of_Books_Id,
1553 101, /*--l_Application_Id, commented for MRC uptake*/
1554 p_Org_Id,
1555 NULL,
1556 l_MRC_Enabled
1557 );
1558
1559 -- ------------------------------------------------------------------
1560 -- If MRC has been enabled for this set of books then make sure that
1561 -- the records are updated accordingly.
1562 -- ------------------------------------------------------------------
1563 IF (l_MRC_Enabled = 'Y') THEN
1564
1565 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1566 IF g_debug_mode = 'Y' THEN
1567 g_debug_msg := ' IGCCHDRB -- MRC enabled for Update Row Header ID Overload .....' || p_cc_header_id;
1568 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1569 END IF;
1570
1571 -- ------------------------------------------------------------------
1572 -- MRC Handler For IGC_CC_CC_HEADERS to insert all MRC records for
1573 -- the reporting set of books for this PRIMARY set of books.
1574 -- ------------------------------------------------------------------
1575 IGC_CC_MC_MAIN_PVT.get_rsobs_Headers (l_api_version,
1576 FND_API.G_FALSE,
1577 FND_API.G_FALSE,
1578 p_validation_level,
1579 l_return_status,
1580 X_msg_count,
1581 X_msg_data,
1582 p_CC_Header_Id,
1583 p_Set_Of_Books_Id,
1584 101, /*--l_Application_Id, commented for MRC uptake*/ p_org_Id,
1585 SYSDATE,
1586 l_action_flag
1587 );
1588
1589 -- ------------------------------------------------------------------
1590 -- Make sure that the insertion was a success
1591 -- ------------------------------------------------------------------
1592 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1593 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1594 IF g_debug_mode = 'Y' THEN
1595 g_debug_msg := ' IGCCHDRB -- Failure Update MRC return Header ID Overload .....' || p_cc_header_id;
1596 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1597 END IF;
1598 RAISE FND_API.G_EXC_ERROR;
1599 END IF;
1600
1601 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1602 IF g_debug_mode = 'Y' THEN
1603 g_debug_msg := ' IGCCHDRB -- MRC Updated Header ID Overload .....' || p_cc_header_id;
1604 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1605 END IF;
1606
1607 END IF;
1608
1609 -- -----------------------------------------------------------------
1610 -- If the records are to be commited in this procedure then
1611 -- commit the work now otherwise wait for the caller to do COMMIT.
1612 -- -----------------------------------------------------------------
1613 IF FND_API.To_Boolean ( p_commit ) THEN
1614 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1615 IF g_debug_mode = 'Y' THEN
1616 g_debug_msg := ' IGCCHDRB -- Committing Update Row Header ID Overload .....' || p_cc_header_id;
1617 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1618 END IF;
1619 COMMIT WORK;
1620 END iF;
1621
1622 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1623 p_data => X_msg_data );
1624
1625 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1626 IF g_debug_mode = 'Y' THEN
1627 g_debug_msg := ' IGCCHDRB -- End Update Row Header ID Overload .....' || p_cc_header_id;
1628 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1629 END IF;
1630
1631 RETURN;
1632
1633 EXCEPTION
1634
1635 WHEN FND_API.G_EXC_ERROR THEN
1636
1637 ROLLBACK TO Update_Row_Pvt ;
1638 X_return_status := FND_API.G_RET_STS_ERROR;
1639 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1640 IF g_debug_mode = 'Y' THEN
1641 g_debug_msg := ' IGCCHDRB -- Failure Execute Update Header ID Overload .....' || p_cc_header_id;
1642 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1643 END IF;
1644 IF (c_igc_app_id%ISOPEN) THEN
1645 CLOSE c_igc_app_id;
1646 END IF;
1647 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1648 p_data => X_msg_data );
1649 IF (g_excep_level >= g_debug_level ) THEN
1650 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_ERROR Exception Raised');
1651 END IF;
1652
1653 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1654
1655 ROLLBACK TO Update_Row_Pvt ;
1656 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1657 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1658 IF g_debug_mode = 'Y' THEN
1659 g_debug_msg := ' IGCCHDRB -- Failure Unexpected Update Header ID Overload .....' || p_cc_header_id;
1660 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1661 END IF;
1662 IF (c_igc_app_id%ISOPEN) THEN
1663 CLOSE c_igc_app_id;
1664 END IF;
1665 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1666 p_data => X_msg_data );
1667 IF (g_excep_level >= g_debug_level ) THEN
1668 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_UNEXPECTED_ERROR Exception Raised');
1669 END IF;
1670
1671 WHEN OTHERS THEN
1672
1673 ROLLBACK TO Update_Row_Pvt ;
1674 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1675 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1676 IF g_debug_mode = 'Y' THEN
1677 g_debug_msg := ' IGCCHDRB -- Failure Others Update Header ID Overload .....' || p_cc_header_id;
1678 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1679 END IF;
1680 IF (c_igc_app_id%ISOPEN) THEN
1681 CLOSE c_igc_app_id;
1682 END IF;
1683
1684 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1685 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
1686 l_api_name);
1687 END if;
1688
1689 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1690 p_data => X_msg_data );
1691 IF ( g_unexp_level >= g_debug_level ) THEN
1692 FND_MESSAGE.SET_NAME('IGC','IGC_LOGGING_UNEXP_ERROR');
1693 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
1694 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
1695 FND_LOG.MESSAGE ( g_unexp_level,l_full_path, TRUE);
1696 END IF;
1697
1698 END Update_Row;
1699
1700 /* ================================================================================
1701 PROCEDURE Update_Row
1702 ===============================================================================*/
1703
1704 PROCEDURE Update_Row(
1705 p_api_version IN NUMBER,
1706 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1707 p_commit IN VARCHAR2 := FND_API.G_FALSE,
1708 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1709 X_return_status OUT NOCOPY VARCHAR2,
1710 X_msg_count OUT NOCOPY NUMBER,
1711 X_msg_data OUT NOCOPY VARCHAR2,
1712 p_Rowid IN OUT NOCOPY VARCHAR2,
1713 p_CC_Header_Id IGC_CC_HEADERS_ALL.CC_Header_Id%TYPE,
1714 p_Org_id IGC_CC_HEADERS_ALL.Org_id%TYPE,
1715 p_CC_Type IGC_CC_HEADERS_ALL.CC_Type%TYPE,
1716 p_CC_Num IGC_CC_HEADERS_ALL.CC_Num%TYPE,
1717 p_CC_Version_num IGC_CC_HEADERS_ALL.CC_Version_num%TYPE,
1718 p_Parent_Header_Id IGC_CC_HEADERS_ALL.Parent_Header_Id%TYPE,
1719 p_CC_State IGC_CC_HEADERS_ALL.CC_State%TYPE,
1720 p_CC_ctrl_status IGC_CC_HEADERS_ALL.CC_ctrl_status%TYPE,
1721 p_CC_Encmbrnc_Status IGC_CC_HEADERS_ALL.CC_Encmbrnc_Status%TYPE,
1722 p_CC_Apprvl_Status IGC_CC_HEADERS_ALL.CC_Apprvl_Status%TYPE,
1723 p_Vendor_Id IGC_CC_HEADERS_ALL.Vendor_Id%TYPE,
1724 p_Vendor_Site_Id IGC_CC_HEADERS_ALL.Vendor_Site_Id%TYPE,
1725 p_Vendor_Contact_Id IGC_CC_HEADERS_ALL.Vendor_Contact_Id%TYPE,
1726 p_Term_Id IGC_CC_HEADERS_ALL.Term_Id%TYPE,
1727 p_Location_Id IGC_CC_HEADERS_ALL.Location_Id%TYPE,
1728 p_Set_Of_Books_Id IGC_CC_HEADERS_ALL.Set_Of_Books_Id%TYPE,
1729 p_CC_Acct_Date IGC_CC_HEADERS_ALL.CC_Acct_Date%TYPE,
1730 p_CC_Desc IGC_CC_HEADERS_ALL.CC_Desc%TYPE,
1731 p_CC_Start_Date IGC_CC_HEADERS_ALL.CC_Start_Date%TYPE,
1732 p_CC_End_Date IGC_CC_HEADERS_ALL.CC_End_Date%TYPE,
1733 p_CC_Owner_User_Id IGC_CC_HEADERS_ALL.CC_Owner_User_Id%TYPE,
1734 p_CC_Preparer_User_Id IGC_CC_HEADERS_ALL.CC_Preparer_User_Id%TYPE,
1735 p_Currency_Code IGC_CC_HEADERS_ALL.Currency_Code%TYPE,
1736 p_Conversion_Type IGC_CC_HEADERS_ALL.Conversion_Type%TYPE,
1737 p_Conversion_Date IGC_CC_HEADERS_ALL.Conversion_Date%TYPE,
1738 p_Conversion_Rate IGC_CC_HEADERS_ALL.Conversion_Rate%TYPE,
1739 p_Last_Update_Date IGC_CC_HEADERS_ALL.Last_Update_Date%TYPE,
1740 p_Last_Updated_By IGC_CC_HEADERS_ALL.Last_Updated_By%TYPE,
1741 p_Last_Update_Login IGC_CC_HEADERS_ALL.Last_Update_Login%TYPE,
1742 p_Created_By IGC_CC_HEADERS_ALL.Created_By%TYPE,
1743 p_Creation_Date IGC_CC_HEADERS_ALL.Creation_Date%TYPE,
1744 p_CC_Current_User_Id IGC_CC_HEADERS_ALL.CC_Current_User_Id%TYPE,
1745 p_Wf_Item_Type IGC_CC_HEADERS_ALL.Wf_Item_Type%TYPE,
1746 p_Wf_Item_Key IGC_CC_HEADERS_ALL.Wf_Item_Key%TYPE,
1747 p_Attribute1 IGC_CC_HEADERS_ALL.Attribute1%TYPE,
1748 p_Attribute2 IGC_CC_HEADERS_ALL.Attribute2%TYPE,
1749 p_Attribute3 IGC_CC_HEADERS_ALL.Attribute3%TYPE,
1750 p_Attribute4 IGC_CC_HEADERS_ALL.Attribute4%TYPE,
1751 p_Attribute5 IGC_CC_HEADERS_ALL.Attribute5%TYPE,
1752 p_Attribute6 IGC_CC_HEADERS_ALL.Attribute6%TYPE,
1753 p_Attribute7 IGC_CC_HEADERS_ALL.Attribute7%TYPE,
1754 p_Attribute8 IGC_CC_HEADERS_ALL.Attribute8%TYPE,
1755 p_Attribute9 IGC_CC_HEADERS_ALL.Attribute9%TYPE,
1756 p_Attribute10 IGC_CC_HEADERS_ALL.Attribute10%TYPE,
1757 p_Attribute11 IGC_CC_HEADERS_ALL.Attribute11%TYPE,
1758 p_Attribute12 IGC_CC_HEADERS_ALL.Attribute12%TYPE,
1759 p_Attribute13 IGC_CC_HEADERS_ALL.Attribute13%TYPE,
1760 p_Attribute14 IGC_CC_HEADERS_ALL.Attribute14%TYPE,
1761 p_Attribute15 IGC_CC_HEADERS_ALL.Attribute15%TYPe,
1762 p_Context IGC_CC_HEADERS_ALL.Context%TYPE,
1763 p_CC_Guarantee_Flag IGC_CC_HEADERS_ALL.CC_Guarantee_Flag%TYPE,
1764 G_FLAG IN OUT NOCOPY VARCHAR2
1765 ) IS
1766
1767 l_api_name CONSTANT VARCHAR2(30) := 'Update_Row';
1768 l_api_version CONSTANT NUMBER := 1.0;
1769 l_Application_Id NUMBER;
1770 l_MRC_Enabled VARCHAR2(1);
1771 l_Conversion_Date DATE;
1772 l_action_flag VARCHAR2(1) := 'U';
1773 l_return_status VARCHAR2(1);
1774 -- l_debug VARCHAR2(1);
1775
1776 CURSOR c_igc_app_id IS
1777 SELECT Application_Id
1778 FROM FND_APPLICATION
1779 WHERE Application_Short_Name = 'IGC';
1780
1781 l_full_path VARCHAR2(255);
1782
1783 BEGIN
1784
1785 l_full_path := g_path || 'Update_Row';
1786
1787 SAVEPOINT Update_Row_Pvt ;
1788
1789 -- -----------------------------------------------------------------
1790 -- Ensure that the version requested to be used is correct for
1794 p_api_version,
1791 -- this API.
1792 -- -----------------------------------------------------------------
1793 IF NOT FND_API.Compatible_API_Call ( l_api_version,
1795 l_api_name,
1796 G_PKG_NAME )
1797 THEN
1798 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
1799 END IF;
1800
1801 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
1802 FND_MSG_PUB.initialize ;
1803 END IF;
1804
1805 X_return_status := FND_API.G_RET_STS_SUCCESS ;
1806 -- l_debug := FND_PROFILE.VALUE('IGC_DEBUG_ENABLED');
1807
1808 -- IF (l_debug = 'Y') THEN
1809 -- l_debug := FND_API.G_TRUE;
1810 -- ELSE
1811 -- l_debug := FND_API.G_FALSE;
1812 -- END IF;
1813 -- IGC_MSGS_PKG.g_debug_mode := FND_API.TO_BOOLEAN(l_debug);
1814
1815 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1816 IF g_debug_mode = 'Y' THEN
1817 g_debug_msg := ' IGCCHDRB -- Begin Update Row Header ID .....' || p_cc_header_id;
1818 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1819 END IF;
1820
1821 -- --------------------------------------------------------------------------
1822 -- Update the CC Header Record
1823 -- --------------------------------------------------------------------------
1824 UPDATE IGC_CC_HEADERS_ALL
1825 SET CC_Header_Id = p_CC_Header_Id,
1826 Parent_Header_Id = p_Parent_Header_Id,
1827 Org_Id = p_Org_id,
1828 CC_Type = p_CC_Type,
1829 CC_Num = p_CC_Num,
1830 CC_Version_Num = p_CC_Version_num,
1831 CC_State = p_CC_State,
1832 CC_ctrl_status = p_CC_ctrl_status ,
1833 CC_Encmbrnc_Status = p_CC_Encmbrnc_Status,
1834 CC_Apprvl_Status = p_CC_Apprvl_Status,
1835 Vendor_Id = p_Vendor_Id,
1836 Vendor_Site_Id = p_Vendor_Site_Id,
1837 Vendor_Contact_Id = p_Vendor_Contact_Id,
1838 Term_Id = p_Term_Id,
1839 Location_Id = p_Location_Id,
1840 Set_Of_Books_Id = p_Set_Of_Books_Id,
1841 CC_Acct_Date = p_CC_Acct_Date,
1842 CC_Desc = p_CC_Desc,
1843 CC_Start_Date = p_CC_Start_Date,
1844 CC_End_Date = p_CC_End_Date,
1845 CC_Owner_User_Id = p_CC_Owner_User_Id,
1846 CC_Preparer_User_Id = p_CC_Preparer_User_Id,
1847 Currency_Code = p_Currency_Code,
1848 Conversion_Type = p_Conversion_Type,
1849 Conversion_Date = p_Conversion_Date,
1850 Conversion_Rate = p_Conversion_Rate,
1851 Last_Update_Date = p_Last_Update_Date,
1852 Last_Updated_By = p_Last_Updated_By,
1853 Last_Update_Login = p_Last_Update_Login,
1854 Created_By = p_Created_By,
1855 Creation_Date = p_Creation_Date,
1856 Wf_Item_Type = p_Wf_Item_Type,
1857 Wf_Item_Key = p_Wf_Item_Key,
1858 CC_Current_User_Id = p_CC_Current_User_Id,
1859 Attribute1 = p_Attribute1,
1860 Attribute2 = p_Attribute2,
1861 Attribute3 = p_Attribute3,
1862 Attribute4 = p_Attribute4,
1863 Attribute5 = p_Attribute5,
1864 Attribute6 = p_Attribute6,
1865 Attribute7 = p_Attribute7,
1866 Attribute8 = p_Attribute8,
1867 Attribute9 = p_Attribute9,
1868 Attribute10 = p_Attribute10,
1869 Attribute11 = p_Attribute11,
1870 Attribute12 = p_Attribute12,
1871 Attribute13 = p_Attribute13,
1872 Attribute14 = p_Attribute14,
1873 Attribute15 = p_Attribute15,
1874 Context = p_Context,
1875 CC_Guarantee_Flag = p_CC_Guarantee_Flag
1876 WHERE rowid = p_Rowid;
1877
1878 IF (SQL%NOTFOUND) THEN
1879 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1880 IF g_debug_mode = 'Y' THEN
1881 g_debug_msg := ' IGCCHDRB -- Failure Update Row Header ID .....' || p_cc_header_id;
1882 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1883 END IF;
1884 RAISE NO_DATA_FOUND;
1885 END IF;
1886
1887 -- -------------------------------------------------------------------------
1888 -- Obtain the information required for doing the update for the MRC
1889 -- records and reporting sets of books.
1890 -- -------------------------------------------------------------------------
1891 OPEN c_igc_app_id;
1892 FETCH c_igc_app_id
1893 INTO l_Application_Id;
1894
1895 -- ------------------------------------------------------------------
1896 -- If the application ID can not be attained then exit the procedure
1897 -- ------------------------------------------------------------------
1898 IF (c_igc_app_id%NOTFOUND) THEN
1899 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1900 IF g_debug_mode = 'Y' THEN
1901 g_debug_msg := ' IGCCHDRB -- Failure getting appl ID for Upd Header.....' || p_cc_header_id;
1902 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1903 END IF;
1907 CLOSE c_igc_app_id;
1904 RAISE FND_API.G_EXC_ERROR;
1905 END IF;
1906
1908
1909 -- ------------------------------------------------------------------
1910 -- If the conversion date is NULL then fill in the value with the
1911 -- current system date.
1912 -- ------------------------------------------------------------------
1913
1914 gl_mc_info.mrc_enabled (p_Set_Of_Books_Id,
1915 101, /*--l_Application_Id, commented for MRC uptake*/ p_Org_Id,
1916 NULL,
1917 l_MRC_Enabled
1918 );
1919
1920 -- ------------------------------------------------------------------
1921 -- If MRC has been enabled for this set of books then make sure that
1922 -- the records are updated accordingly.
1923 -- ------------------------------------------------------------------
1924 IF (l_MRC_Enabled = 'Y') THEN
1925
1926 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1927 IF g_debug_mode = 'Y' THEN
1928 g_debug_msg := ' IGCCHDRB -- MRC enabled for Update Row Header ID .....' || p_cc_header_id;
1929 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1930 END IF;
1931
1932 -- ------------------------------------------------------------------
1933 -- MRC Handler For IGC_CC_CC_HEADERS to insert all MRC records for
1934 -- the reporting set of books for this PRIMARY set of books.
1935 -- ------------------------------------------------------------------
1936 IGC_CC_MC_MAIN_PVT.get_rsobs_Headers (l_api_version,
1937 FND_API.G_FALSE,
1938 FND_API.G_FALSE,
1939 p_validation_level,
1940 l_return_status,
1941 X_msg_count,
1942 X_msg_data,
1943 p_CC_Header_Id,
1944 p_Set_Of_Books_Id,
1945 101, /*--l_Application_Id, commented for MRC uptake*/ p_org_Id,
1946 SYSDATE,
1947 l_action_flag
1948 );
1949
1950 -- ------------------------------------------------------------------
1951 -- Make sure that the insertion was a success
1952 -- ------------------------------------------------------------------
1953 IF (l_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
1954 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1955 IF g_debug_mode = 'Y' THEN
1956 g_debug_msg := ' IGCCHDRB -- Failure Update MRC return Header ID .....' || p_cc_header_id;
1957 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1958 END IF;
1959 RAISE FND_API.G_EXC_ERROR;
1960 END IF;
1961
1962 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1963 IF g_debug_mode = 'Y' THEN
1964 g_debug_msg := ' IGCCHDRB -- MRC Updated Header ID .....' || p_cc_header_id;
1965 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1966 END IF;
1967
1968 END IF;
1969
1970 -- -----------------------------------------------------------------
1971 -- If the records are to be commited in this procedure then
1972 -- commit the work now otherwise wait for the caller to do COMMIT.
1973 -- -----------------------------------------------------------------
1974 IF FND_API.To_Boolean ( p_commit ) THEN
1975 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1976 IF g_debug_mode = 'Y' THEN
1977 g_debug_msg := ' IGCCHDRB -- Committing Update Row Header ID .....' || p_cc_header_id;
1978 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1979 END IF;
1980 COMMIT WORK;
1981 END iF;
1982
1983 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
1984 p_data => X_msg_data );
1985
1986 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
1987 IF g_debug_mode = 'Y' THEN
1988 g_debug_msg := ' IGCCHDRB -- End Update Row Header ID .....' || p_cc_header_id;
1989 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
1990 END IF;
1991
1992 RETURN;
1993
1994 EXCEPTION
1995
1996 WHEN FND_API.G_EXC_ERROR THEN
1997
1998 ROLLBACK TO Update_Row_Pvt ;
1999 X_return_status := FND_API.G_RET_STS_ERROR;
2000 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2001 IF g_debug_mode = 'Y' THEN
2002 g_debug_msg := ' IGCCHDRB -- Failure Execute Update Header ID .....' || p_cc_header_id;
2003 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2004 END IF;
2005 IF (c_igc_app_id%ISOPEN) THEN
2006 CLOSE c_igc_app_id;
2007 END IF;
2008 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2009 p_data => X_msg_data );
2010 IF (g_excep_level >= g_debug_level ) THEN
2011 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_ERROR Exception Raised');
2012 END IF;
2013
2014 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2015
2016 ROLLBACK TO Update_Row_Pvt ;
2017 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2018 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2019 IF g_debug_mode = 'Y' THEN
2020 g_debug_msg := ' IGCCHDRB -- Failure Unexpected Update Header ID .....' || p_cc_header_id;
2021 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2022 END IF;
2023 IF (c_igc_app_id%ISOPEN) THEN
2024 CLOSE c_igc_app_id;
2025 END IF;
2026 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2027 p_data => X_msg_data );
2028 IF (g_excep_level >= g_debug_level ) THEN
2032 WHEN OTHERS THEN
2029 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_UNEXPECTED_ERROR Exception Raised');
2030 END IF;
2031
2033
2034 ROLLBACK TO Update_Row_Pvt ;
2035 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2036 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2037 IF g_debug_mode = 'Y' THEN
2038 g_debug_msg := ' IGCCHDRB -- Failure Others Update Header ID .....' || p_cc_header_id;
2039 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2040 END IF;
2041 IF (c_igc_app_id%ISOPEN) THEN
2042 CLOSE c_igc_app_id;
2043 END IF;
2044
2045 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2046 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
2047 l_api_name);
2048 END if;
2049
2050 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2051 p_data => X_msg_data );
2052
2053 IF ( g_unexp_level >= g_debug_level ) THEN
2054 FND_MESSAGE.SET_NAME('IGC','IGC_LOGGING_UNEXP_ERROR');
2055 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
2056 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
2057 FND_LOG.MESSAGE ( g_unexp_level,l_full_path, TRUE);
2058 END IF;
2059
2060
2061 END Update_Row;
2062
2063 /* ================================================================================
2064 PROCEDURE Delete_Row
2065 ===============================================================================*/
2066
2067 PROCEDURE Delete_Row(
2068 p_api_version IN NUMBER,
2069 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
2070 p_commit IN VARCHAR2 := FND_API.G_FALSE,
2071 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
2072 X_return_status OUT NOCOPY VARCHAR2,
2073 X_msg_count OUT NOCOPY NUMBER,
2074 X_msg_data OUT NOCOPY VARCHAR2,
2075 p_Rowid IN OUT NOCOPY VARCHAR2,
2076 G_FLAG IN OUT NOCOPY VARCHAR2
2077 ) IS
2078
2079 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Row';
2080 l_api_version CONSTANT NUMBER := 1.0;
2081 l_msg_count NUMBER ;
2082 l_msg_data VARCHAR2(2000) ;
2083 l_version_num IGC_CC_HEADERS_ALL.CC_Version_Num%TYPE;
2084 l_header_row_id Varchar2(18);
2085 l_return_status VARCHAR2(1);
2086 l_action_flag VARCHAR2(1) := 'D';
2087 -- l_debug VARCHAR2(1);
2088
2089 l_bc_return_status VARCHAR2(2);
2090 l_batch_result_code VARCHAR2(3);
2091 l_debug VARCHAR2(1);
2092 l_bc_success BOOLEAN;
2093
2094 CURSOR c_cc_header_row_id IS
2095 SELECT *
2096 FROM IGC_CC_HEADERS_ALL
2097 WHERE Rowid = p_Rowid;
2098
2099 Recinfo c_cc_header_row_id%ROWTYPE;
2100
2101 l_full_path VARCHAR2(255);
2102
2103 BEGIN
2104
2105 l_full_path := g_path || 'Delete_Row';
2106
2107 SAVEPOINT Delete_Row_Pvt ;
2108
2109 -- -----------------------------------------------------------------
2110 -- Ensure that the version requested to be used is correct for
2111 -- this API.
2112 -- -----------------------------------------------------------------
2113 IF NOT FND_API.Compatible_API_Call ( l_api_version,
2114 p_api_version,
2115 l_api_name,
2116 G_PKG_NAME )
2117 THEN
2118 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
2119 END IF;
2120
2121 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
2122 FND_MSG_PUB.initialize ;
2123 END IF ;
2124
2125 X_return_status := FND_API.G_RET_STS_SUCCESS ;
2126 -- l_debug := FND_PROFILE.VALUE('IGC_DEBUG_ENABLED');
2127
2128 -- IF (l_debug = 'Y') THEN
2129 -- l_debug := FND_API.G_TRUE;
2130 -- ELSE
2131 -- l_debug := FND_API.G_FALSE;
2132 -- END IF;
2133 -- IGC_MSGS_PKG.g_debug_mode := FND_API.TO_BOOLEAN(l_debug);
2134
2135 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2136 IF g_debug_mode = 'Y' THEN
2137 g_debug_msg := ' IGCCHDRB -- Starting Header delete Rowid ...' || p_rowid;
2138 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2139 END IF;
2140
2141 -- -----------------------------------------------------------------
2142 -- Get The record that is about to be deleted
2143 -- -----------------------------------------------------------------
2144 OPEN c_cc_header_row_id;
2145 FETCH c_cc_header_row_id
2146 INTO Recinfo;
2147
2148 -- ------------------------------------------------------------------
2149 -- If the row information can not be attained then exit the procedure
2150 -- ------------------------------------------------------------------
2151 IF (c_cc_header_row_id%NOTFOUND) THEN
2152 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2153 IF g_debug_mode = 'Y' THEN
2154 g_debug_msg := ' IGCCHDRB -- Failure getting Header Rec delete Rowid ...' || p_rowid;
2155 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2156 END IF;
2157
2158 RAISE NO_DATA_FOUND;
2159 END IF;
2160
2161 CLOSE c_cc_header_row_id;
2162
2163
2164 -- --------------------------------------------------------------
2165 -- Unreserve the Encubracnes if any
2166 -- ----------------------------------------------------
2167
2168 IF (Recinfo.CC_ENCMBRNC_STATUS = 'P' AND
2169 Recinfo.CC_APPRVL_STATUS = 'IN') THEN
2170
2171 l_bc_success := IGC_CBC_PA_BC_PKG.IGCPAFCK( p_sobid => Recinfo.set_of_books_id,
2175 p_ret_status => l_bc_return_status,
2172 p_header_id => Recinfo.cc_header_id,
2173 p_mode => 'U',
2174 p_actual_flag => 'E',
2176 p_batch_result_code => l_batch_result_code,
2177 p_doc_type => 'CC',
2178 p_debug => g_debug_mode,
2179 p_conc_proc => FND_API.G_FALSE);
2180
2181 IF l_bc_success = TRUE --No fatal errors
2182 AND substr(l_bc_return_status,1,1) IN ('N','S','A') --CBC successfull
2183 AND substr(l_bc_return_status,2,1) IN ('N','S','A') --SBC successfull
2184
2185 THEN
2186 l_Return_Status := FND_API.G_TRUE;
2187 ELSE
2188 l_Return_Status := FND_API.G_FALSE;
2189 END IF;
2190
2191 IF g_debug_mode = 'Y' THEN
2192 IF l_Return_Status = FND_API.G_TRUE THEN
2193 g_debug_msg := ' IGCCHDRB -- Succesfully Unreserved the Encubracnes';
2194 ELSE
2195 g_debug_msg := ' IGCCHDRB -- Failed to unreserve the Encubracnes';
2196 END IF;
2197 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2198 END IF;
2199
2200 IF l_Return_Status = FND_API.G_TRUE THEN
2201 raise FND_API.G_EXC_UNEXPECTED_ERROR;
2202 END IF;
2203
2204 END IF;
2205
2206
2207 -- --------------------------------------------------------------------
2208 -- Delete all MRC PF History Lines for related CC Header IDs.
2209 -- --------------------------------------------------------------------
2210 DELETE
2211 FROM igc_cc_mc_det_pf_history DPH
2212 WHERE DPH.cc_det_pf_line_id IN
2213 ( SELECT DPF.cc_det_pf_line_id
2214 FROM igc_cc_det_pf DPF
2215 WHERE DPF.cc_acct_line_id IN
2216 ( SELECT ACL.cc_acct_line_id
2217 FROM igc_cc_acct_lines ACL
2218 WHERE ACL.cc_header_id = Recinfo.cc_header_id
2219 )
2220 )
2221 OR DPH.cc_det_pf_line_id IN
2222 ( SELECT DPFH.cc_det_pf_line_id
2223 FROM igc_cc_det_pf_history DPFH
2224 WHERE DPFH.cc_acct_line_id IN
2225 ( SELECT ACLH.cc_acct_line_id
2226 FROM igc_cc_acct_line_history ACLH
2227 WHERE ACLH.cc_header_id = Recinfo.cc_header_id
2228 )
2229 );
2230
2231 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2232 IF g_debug_mode = 'Y' THEN
2233 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_MC_DET_PF_HISTORY for CC Header ID : ' ||
2234 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2235 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2236 END IF;
2237
2238 -- --------------------------------------------------------------------
2239 -- Delete all MRC PF History Lines for related CC Header IDs.
2240 -- --------------------------------------------------------------------
2241 DELETE
2242 FROM igc_cc_mc_det_pf DP
2243 WHERE DP.cc_det_pf_line_id IN
2244 ( SELECT DPF.cc_det_pf_line_id
2245 FROM igc_cc_det_pf DPF
2246 WHERE DPF.cc_acct_line_id IN
2247 ( SELECT ACL.cc_acct_line_id
2248 FROM igc_cc_acct_lines ACL
2249 WHERE ACL.cc_header_id = Recinfo.cc_header_id
2250 )
2251 )
2252 OR DP.cc_det_pf_line_id IN
2253 ( SELECT DPFH.cc_det_pf_line_id
2254 FROM igc_cc_det_pf_history DPFH
2255 WHERE DPFH.cc_acct_line_id IN
2256 ( SELECT ACLH.cc_acct_line_id
2257 FROM igc_cc_acct_line_history ACLH
2258 WHERE ACLH.cc_header_id = Recinfo.cc_header_id
2259 )
2260 );
2261
2262 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2263 IF g_debug_mode = 'Y' THEN
2264 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_MC_DET_PF for CC Header ID : ' ||
2265 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2266 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2267 END IF;
2268
2269 -- --------------------------------------------------------------------
2270 -- Delete all MRC Account Line History Lines for related CC Header IDs.
2271 -- --------------------------------------------------------------------
2272 DELETE
2273 FROM igc_cc_mc_acct_line_history CALH
2274 WHERE CALH.cc_acct_line_id IN
2275 ( SELECT ACL.cc_acct_line_id
2276 FROM igc_cc_acct_lines ACL
2277 WHERE ACL.cc_header_id = Recinfo.cc_header_id
2278 )
2279 OR CALH.cc_acct_line_id IN
2280 ( SELECT ACLH.cc_acct_line_id
2281 FROM igc_cc_acct_line_history ACLH
2282 WHERE ACLH.cc_header_id = Recinfo.cc_header_id
2283 );
2284
2285 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2286 IF g_debug_mode = 'Y' THEN
2287 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_MC_ACCT_LINE_HISTORY for CC Header ID : ' ||
2288 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2289 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2290 END IF;
2291
2292 -- --------------------------------------------------------------------
2293 -- Delete all MRC Account Line History Lines for related CC Header IDs.
2294 -- --------------------------------------------------------------------
2295 DELETE
2296 FROM igc_cc_mc_acct_lines CAL
2297 WHERE CAL.cc_acct_line_id IN
2301 )
2298 ( SELECT ACL.cc_acct_line_id
2299 FROM igc_cc_acct_lines ACL
2300 WHERE ACL.cc_header_id = Recinfo.cc_header_id
2302 OR CAL.cc_acct_line_id IN
2303 ( SELECT ACLH.cc_acct_line_id
2304 FROM igc_cc_acct_line_history ACLH
2305 WHERE ACLH.cc_header_id = Recinfo.cc_header_id
2306 );
2307
2308 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2309 IF g_debug_mode = 'Y' THEN
2310 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_MC_ACCT_LINES for CC Header ID : ' ||
2311 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2312 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2313 END IF;
2314
2315 -- --------------------------------------------------------------------
2316 -- Delete all MRC Header History records for related CC Header IDs.
2317 -- --------------------------------------------------------------------
2318 DELETE
2319 FROM igc_cc_mc_header_history
2320 WHERE cc_header_id = Recinfo.cc_header_id;
2321
2322 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2323 IF g_debug_mode = 'Y' THEN
2324 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_MC_HEADER_HISTORY for CC Header ID : ' ||
2325 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2326 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2327 END IF;
2328
2329 -- --------------------------------------------------------------------
2330 -- Delete all MRC Header records for related CC Header IDs.
2331 -- --------------------------------------------------------------------
2332 DELETE
2333 FROM igc_cc_mc_headers
2334 WHERE cc_header_id = Recinfo.cc_header_id;
2335
2336 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2337 IF g_debug_mode = 'Y' THEN
2338 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_MC_HEADERS for CC Header ID : ' ||
2339 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2340 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2341 END IF;
2342
2343 -- --------------------------------------------------------------------
2344 -- Delete all CC Action records for related CC Header IDs.
2345 -- --------------------------------------------------------------------
2346 DELETE
2347 FROM igc_cc_actions
2348 WHERE cc_header_id = Recinfo.cc_header_id;
2349
2350 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2351 IF g_debug_mode = 'Y' THEN
2352 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_ACTIONS for CC Header ID : ' ||
2353 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2354 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2355 END IF;
2356
2357 -- --------------------------------------------------------------------
2358 -- Delete all PF Line History records for related CC Header IDs.
2359 -- --------------------------------------------------------------------
2360 DELETE
2361 FROM igc_cc_det_pf_history CDPH
2362 WHERE CDPH.cc_acct_line_id IN
2363 ( SELECT ACL.cc_acct_line_id
2364 FROM igc_cc_acct_lines ACL
2365 WHERE ACL.cc_header_id = Recinfo.cc_header_id
2366 )
2367 OR CDPH.cc_acct_line_id IN
2368 ( SELECT ACLH.cc_acct_line_id
2369 FROM igc_cc_acct_line_history ACLH
2370 WHERE ACLH.cc_header_id = Recinfo.cc_header_id
2371 );
2372
2373 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2374 IF g_debug_mode = 'Y' THEN
2375 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_DET_PF_HISTORY for CC Header ID : ' ||
2376 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2377 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2378 END IF;
2379
2380 -- --------------------------------------------------------------------
2381 -- Delete all PF Line records for related CC Header IDs.
2382 -- --------------------------------------------------------------------
2383 DELETE
2384 FROM igc_cc_det_pf CDP
2385 WHERE CDP.cc_acct_line_id IN
2386 ( SELECT ACL.cc_acct_line_id
2387 FROM igc_cc_acct_lines ACL
2388 WHERE ACL.cc_header_id = Recinfo.cc_header_id
2389 )
2390 OR CDP.cc_acct_line_id IN
2391 ( SELECT ACLH.cc_acct_line_id
2392 FROM igc_cc_acct_line_history ACLH
2393 WHERE ACLH.cc_header_id = Recinfo.cc_header_id
2394 );
2395
2396 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2397 IF g_debug_mode = 'Y' THEN
2398 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_DET_PF for CC Header ID : ' ||
2399 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2400 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2401 END IF;
2402
2403 -- --------------------------------------------------------------------
2404 -- Delete all Acct Line History records for related CC Header IDs.
2405 -- --------------------------------------------------------------------
2406 DELETE
2407 FROM igc_cc_acct_line_history ALH
2408 WHERE ALH.cc_header_id = Recinfo.cc_header_id;
2409
2410 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2411 IF g_debug_mode = 'Y' THEN
2412 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_ACCT_LINE_HISTORY for CC Header ID : ' ||
2413 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2414 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2415 END IF;
2416
2417 -- --------------------------------------------------------------------
2418 -- Delete all Acct Line records for related CC Header IDs.
2419 -- --------------------------------------------------------------------
2420 DELETE
2421 FROM igc_cc_acct_lines AL
2422 WHERE AL.cc_header_id = Recinfo.cc_header_id;
2423
2424 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2428 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2425 IF g_debug_mode = 'Y' THEN
2426 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_ACCT_LINES for CC Header ID : ' ||
2427 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2429 END IF;
2430
2431 -- --------------------------------------------------------------------
2432 -- Delete all CC Interface records for related CC Header IDs.
2433 -- --------------------------------------------------------------------
2434 DELETE
2435 FROM igc_cc_interface CI
2436 WHERE CI.cc_header_id = Recinfo.cc_header_id;
2437
2438 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2439 IF g_debug_mode = 'Y' THEN
2440 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_INTERFACE for CC Header ID : ' ||
2441 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2442 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2443 END IF;
2444
2445 -- --------------------------------------------------------------------
2446 -- Delete all CC Access records for related CC Header IDs.
2447 -- --------------------------------------------------------------------
2448 DELETE
2449 FROM igc_cc_access CA
2450 WHERE CA.cc_header_id = Recinfo.cc_header_id;
2451
2452 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2453 IF g_debug_mode = 'Y' THEN
2454 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_ACCESS for CC Header ID : ' ||
2455 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2456 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2457 END IF;
2458
2459 -- --------------------------------------------------------------------
2460 -- Delete all Header History records for related CC Header IDs.
2461 -- --------------------------------------------------------------------
2462 DELETE
2463 FROM igc_cc_header_history CHH
2464 WHERE CHH.cc_header_id = Recinfo.cc_header_id;
2465
2466 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2467 IF g_debug_mode = 'Y' THEN
2468 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_HEADER_HISTORY for CC Header ID : ' ||
2469 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2470 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2471 END IF;
2472
2473 -- --------------------------------------------------------------------
2474 -- Delete all Header records for related CC Header IDs.
2475 -- --------------------------------------------------------------------
2476 DELETE
2477 FROM IGC_CC_HEADERS_ALL
2478 WHERE cc_header_id = Recinfo.cc_header_id;
2479
2480 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2481 IF g_debug_mode = 'Y' THEN
2482 g_debug_msg := ' IGCCHDRB -- Num Rows Delete IGC_CC_HEADER for CC Header ID : ' ||
2483 Recinfo.cc_header_id || ' is : ' || to_char(SQL%ROWCOUNT);
2484 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2485 END IF;
2486
2487 G_FLAG := 'Y';
2488
2489 -- -----------------------------------------------------------------
2490 -- If the records are to be commited in this procedure then
2491 -- commit the work now otherwise wait for the caller to do COMMIT.
2492 -- -----------------------------------------------------------------
2493 IF FND_API.To_Boolean ( p_commit ) THEN
2494 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2495 IF g_debug_mode = 'Y' THEN
2496 g_debug_msg := ' IGCCHDRB -- Committing Header delete Rowid ...' || p_rowid;
2497 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2498 END IF;
2499 COMMIT WORK;
2500 END iF;
2501
2502 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2503 p_data => X_msg_data );
2504
2505 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2506 IF g_debug_mode = 'Y' THEN
2507 g_debug_msg := ' IGCCHDRB -- End Header delete Rowid ...' || p_rowid;
2508 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2509 END IF;
2510
2511 RETURN;
2512
2513 EXCEPTION
2514
2515 WHEN FND_API.G_EXC_ERROR THEN
2516
2517 ROLLBACK TO Delete_Row_Pvt ;
2518 X_return_status := FND_API.G_RET_STS_ERROR;
2519 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2520 IF g_debug_mode = 'Y' THEN
2521 g_debug_msg := ' IGCCHDRB -- Failure Execute Header delete Rowid ...' || p_rowid;
2522 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2523 END IF;
2524 IF (c_cc_header_row_id%ISOPEN) THEN
2525 CLOSE c_cc_header_row_id;
2526 END IF;
2527 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2528 p_data => X_msg_data );
2529 IF (g_excep_level >= g_debug_level ) THEN
2530 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_ERROR Exception Raised');
2531 END IF;
2532
2533 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2534
2535 ROLLBACK TO Delete_Row_Pvt ;
2536 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2537 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2538 IF g_debug_mode = 'Y' THEN
2539 g_debug_msg := ' IGCCHDRB -- Failure Unexpected Header delete Rowid ...' || p_rowid;
2540 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2541 END IF;
2542 IF (c_cc_header_row_id%ISOPEN) THEN
2543 CLOSE c_cc_header_row_id;
2544 END IF;
2545 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2546 p_data => X_msg_data );
2547 IF (g_excep_level >= g_debug_level ) THEN
2548 FND_LOG.STRING (g_excep_level,l_full_path,'FND_API.G_EXC_UNEXPECTED_ERROR Exception Raised');
2549 END IF;
2550
2551 WHEN OTHERS THEN
2552
2553 ROLLBACK TO Delete_Row_Pvt ;
2554 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2555 -- IF (IGC_MSGS_PKG.g_debug_mode) THEN
2556 IF g_debug_mode = 'Y' THEN
2557 g_debug_msg := ' IGCCHDRB -- Failure Others Header delete Rowid ...' || p_rowid;
2558 Output_Debug (l_full_path, p_debug_msg => g_debug_msg);
2559 END IF;
2560 IF (c_cc_header_row_id%ISOPEN) THEN
2561 CLOSE c_cc_header_row_id;
2562 END IF;
2563
2564 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2565 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
2566 l_api_name);
2567 END if;
2568
2569 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
2570 p_data => X_msg_data );
2571 IF ( g_unexp_level >= g_debug_level ) THEN
2572 FND_MESSAGE.SET_NAME('IGC','IGC_LOGGING_UNEXP_ERROR');
2573 FND_MESSAGE.SET_TOKEN('CODE',SQLCODE);
2574 FND_MESSAGE.SET_TOKEN('MSG', SQLERRM);
2575 FND_LOG.MESSAGE ( g_unexp_level,l_full_path, TRUE);
2576 END IF;
2577
2578
2579 END Delete_Row;
2580
2581 END IGC_CC_HEADERS_PKG;