[Home] [Help]
PACKAGE BODY: APPS.IGC_CC_MC_ACCT_LINES_PKG
Source
1 PACKAGE BODY IGC_CC_MC_ACCT_LINES_PKG as
2 /* $Header: IGCCMCAB.pls 120.3.12000000.1 2007/08/20 12:12:50 mbremkum ship $*/
3
4 G_PKG_NAME CONSTANT VARCHAR2(30):= 'IGC_CC_MC_ACCT_LINES_PKG';
5 g_debug_flag VARCHAR2(1) := 'N' ;
6
7 /* ================================================================================
8 PROCEDURE Insert_Row
9 ===============================================================================*/
10
11 PROCEDURE Insert_Row(
12 p_api_version IN NUMBER,
13 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
14 p_commit IN VARCHAR2 := FND_API.G_FALSE,
15 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
16 X_return_status OUT NOCOPY VARCHAR2,
17 X_msg_count OUT NOCOPY NUMBER,
18 X_msg_data OUT NOCOPY VARCHAR2,
19 p_Rowid IN OUT NOCOPY VARCHAR2,
20 p_CC_Acct_Line_Id IGC_CC_MC_ACCT_LINES.CC_Acct_Line_Id%TYPE,
21 p_Set_Of_Books_Id IGC_CC_MC_ACCT_LINES.Set_Of_Books_Id%TYPE,
22 p_CC_Acct_Func_Amt IGC_CC_MC_ACCT_LINES.CC_Acct_Func_Amt%TYPE,
23 p_CC_Acct_Encmbrnc_Amt IGC_CC_MC_ACCT_LINES.CC_Acct_Encmbrnc_Amt%TYPE,
24 p_Conversion_Type IGC_CC_MC_ACCT_LINES.Conversion_Type%TYPE,
25 p_Conversion_Date IGC_CC_MC_ACCT_LINES.Conversion_Date%TYPE,
26 p_Conversion_Rate IGC_CC_MC_ACCT_LINES.Conversion_Rate%TYPE,
27 p_CC_Func_Withheld_Amt IGC_CC_MC_ACCT_LINES.cc_func_withheld_amt%TYPE
28
29 )
30
31 IS
32
33 l_api_name CONSTANT VARCHAR2(30) := 'Insert_Row';
34 l_api_version CONSTANT NUMBER := 1.0;
35
36 CURSOR C IS SELECT Rowid FROM IGC_CC_MC_ACCT_LINES
37 WHERE CC_Acct_Line_Id = p_CC_Acct_Line_Id;
38
39 BEGIN
40
41 SAVEPOINT Insert_Row_Pvt ;
42
43 IF NOT FND_API.Compatible_API_Call ( l_api_version,
44 p_api_version,
45 l_api_name,
46 G_PKG_NAME )
47 THEN
48 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
49 END IF;
50
51
52 IF FND_API.to_Boolean (p_init_msg_list ) THEN
53 FND_MSG_PUB.initialize ;
54 END IF;
55
56 X_return_status := FND_API.G_RET_STS_SUCCESS ;
57
58 INSERT INTO IGC_CC_MC_ACCT_LINES (
59 CC_Acct_Line_Id,
60 Set_Of_Books_Id,
61 CC_Acct_Func_Amt,
62 CC_Acct_Encmbrnc_Amt,
63 Conversion_Type,
64 Conversion_Date,
65 Conversion_Rate,
66 cc_func_withheld_amt
67 ) VALUES (
68 p_CC_Acct_Line_Id,
69 p_Set_Of_Books_Id,
70 p_CC_Acct_Func_Amt,
71 p_CC_Acct_Encmbrnc_Amt,
72 p_Conversion_Type,
73 p_Conversion_Date,
74 p_Conversion_Rate,
75 p_cc_func_withheld_amt
76 );
77
78 OPEN C;
79 FETCH C INTO p_Rowid;
80 if (C%NOTFOUND) then
81 CLOSE C;
82 RAISE FND_API.G_EXC_ERROR ;
83 end if;
84 CLOSE C;
85
86 IF FND_API.To_Boolean ( p_commit ) THEN
87 COMMIT WORK;
88 END iF;
89
90 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
91 p_data => X_msg_data );
92
93 EXCEPTION
94
95 WHEN FND_API.G_EXC_ERROR THEN
96
97 ROLLBACK TO Insert_Row_Pvt ;
98 X_return_status := FND_API.G_RET_STS_ERROR;
99 FND_MSG_PUB.Count_And_Get (p_count => X_msg_count,
100 p_data => X_msg_data );
101
102 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
103
104 ROLLBACK TO Insert_Row_Pvt ;
105 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
106 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
107 p_data => X_msg_data );
108
109 WHEN OTHERS THEN
110
111 ROLLBACK TO Insert_Row_Pvt ;
112 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
113
114 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
115 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
116 l_api_name);
117 END if;
118
119 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
120 p_data => X_msg_data );
121
122 END Insert_Row;
123
124 /* ================================================================================
125 PROCEDURE Lock_Row
126 ===============================================================================*/
127
128 PROCEDURE Lock_Row(
129 p_api_version IN NUMBER,
130 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
131 p_commit IN VARCHAR2 := FND_API.G_FALSE,
132 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
133 X_return_status OUT NOCOPY VARCHAR2,
134 X_msg_count OUT NOCOPY NUMBER,
135 X_msg_data OUT NOCOPY VARCHAR2,
136 p_Rowid IN OUT NOCOPY VARCHAR2,
137 p_CC_Acct_Line_Id IGC_CC_MC_ACCT_LINES.CC_Acct_Line_Id%TYPE,
138 p_Set_Of_Books_Id IGC_CC_MC_ACCT_LINES.Set_Of_Books_Id%TYPE,
139 p_CC_Acct_Func_Amt IGC_CC_MC_ACCT_LINES.CC_Acct_Func_Amt%TYPE,
140 p_CC_Acct_Encmbrnc_Amt IGC_CC_MC_ACCT_LINES.CC_Acct_Encmbrnc_Amt%TYPE,
141 p_Conversion_Type IGC_CC_MC_ACCT_LINES.Conversion_Type%TYPE,
142 p_Conversion_Date IGC_CC_MC_ACCT_LINES.Conversion_Date%TYPE,
143 p_Conversion_Rate IGC_CC_MC_ACCT_LINES.Conversion_Rate%TYPE,
144 p_CC_Func_Withheld_Amt IGC_CC_MC_ACCT_LINES.cc_func_withheld_amt%TYPE,
145 X_row_locked OUT NOCOPY VARCHAR2
146 ) IS
147 l_api_name CONSTANT VARCHAR2(30) := 'Lock_Row';
148 l_api_version CONSTANT NUMBER := 1.0;
149 Counter NUMBER;
150
151 CURSOR C IS
152 SELECT *
153 FROM IGC_CC_MC_ACCT_LINES
154 WHERE rowid = p_Rowid
155 FOR UPDATE of CC_Acct_Line_Id NOWAIT;
156 Recinfo C%ROWTYPE;
157 BEGIN
158
159 SAVEPOINT Lock_Row_Pvt ;
160
161 IF NOT FND_API.Compatible_API_Call ( l_api_version,
162 p_api_version,
163 l_api_name,
164 G_PKG_NAME )
165 THEN
166 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
167 END IF;
168
169
170 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
171 FND_MSG_PUB.initialize ;
172 END IF;
173
174 X_return_status := FND_API.G_RET_STS_SUCCESS ;
175 X_row_locked := FND_API.G_TRUE ;
176
177 OPEN C;
178
179 FETCH C INTO Recinfo;
180 if (C%NOTFOUND) then
181 CLOSE C;
182 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
183 FND_MSG_PUB.Add;
184 RAISE FND_API.G_EXC_ERROR;
185 end if;
186 CLOSE C;
187 if (
188 (Recinfo.CC_Acct_Line_Id = p_CC_Acct_Line_Id)
189 AND ( (Recinfo.Set_Of_Books_Id = p_Set_Of_Books_Id)
190 OR ( (Recinfo.Set_Of_Books_Id IS NULL)
191 AND (p_Set_Of_Books_Id IS NULL)))
192 AND ( (Recinfo.CC_Acct_Func_Amt = p_CC_Acct_Func_Amt)
193 OR ( (Recinfo.CC_Acct_Func_Amt IS NULL)
194 AND (p_CC_Acct_Func_Amt IS NULL)))
195 AND ( (Recinfo.CC_Acct_Encmbrnc_Amt = p_CC_Acct_Encmbrnc_Amt)
196 OR ( (Recinfo.CC_Acct_Encmbrnc_Amt IS NULL)
197 AND (p_CC_Acct_Encmbrnc_Amt IS NULL)))
198 AND ( (Recinfo.Conversion_Type = p_Conversion_Type)
199 OR ( (Recinfo.Conversion_Type IS NULL)
200 AND (p_Conversion_Type IS NULL)))
201 AND ( (Recinfo.Conversion_Date = p_Conversion_Date)
202 OR ( (Recinfo.Conversion_Date IS NULL)
203 AND (p_Conversion_Date IS NULL)))
204 AND ( (Recinfo.Conversion_Rate = p_Conversion_Rate)
205 OR ( (Recinfo.Conversion_Rate IS NULL)
206 AND (p_Conversion_Rate IS NULL)))
207 AND ( (Recinfo.cc_func_withheld_amt = p_cc_func_withheld_amt)
208 OR ( (Recinfo.cc_func_withheld_amt IS NULL)
209 AND (p_cc_func_withheld_amt IS NULL)))
210
211 ) then
212 null;
213 else
214 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
215 FND_MSG_PUB.Add;
216 RAISE FND_API.G_EXC_ERROR ;
217 end if;
218
219 IF FND_API.To_Boolean ( p_commit ) THEN
220 COMMIT WORK;
221 END iF;
222
223 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
224 p_data => X_msg_data );
225
226 EXCEPTION
227
228 WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
229
230 ROLLBACK TO Lock_Row_Pvt ;
231 X_row_locked := FND_API.G_FALSE;
232 X_return_status := FND_API.G_RET_STS_ERROR;
233 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
234 p_data => X_msg_data );
235
236 WHEN FND_API.G_EXC_ERROR THEN
237
238 ROLLBACK TO Lock_Row_Pvt ;
239 X_return_status := FND_API.G_RET_STS_ERROR;
240 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
241 p_data => X_msg_data );
242
243 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
244
245 ROLLBACK TO Lock_Row_Pvt ;
246 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
247 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
248 p_data => X_msg_data );
249
250 WHEN OTHERS THEN
251
252 ROLLBACK TO Lock_Row_Pvt ;
253 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
254
255 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
256 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
257 l_api_name);
258 END if;
259
260 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
261 p_data => X_msg_data );
262
263 END Lock_Row;
264 /* ================================================================================
265 PROCEDURE Update_Row
266 ===============================================================================*/
267
268 PROCEDURE Update_Row(
269 p_api_version IN NUMBER,
270 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
271 p_commit IN VARCHAR2 := FND_API.G_FALSE,
272 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
273 X_return_status OUT NOCOPY VARCHAR2,
274 X_msg_count OUT NOCOPY NUMBER,
275 X_msg_data OUT NOCOPY VARCHAR2,
276 p_Rowid IN OUT NOCOPY VARCHAR2,
277 p_CC_Acct_Line_Id IGC_CC_MC_ACCT_LINES.CC_Acct_Line_Id%TYPE,
278 p_Set_Of_Books_Id IGC_CC_MC_ACCT_LINES.Set_Of_Books_Id%TYPE,
279 p_CC_Acct_Func_Amt IGC_CC_MC_ACCT_LINES.CC_Acct_Func_Amt%TYPE,
280 p_CC_Acct_Encmbrnc_Amt IGC_CC_MC_ACCT_LINES.CC_Acct_Encmbrnc_Amt%TYPE,
281 p_Conversion_Type IGC_CC_MC_ACCT_LINES.Conversion_Type%TYPE,
282 p_Conversion_Date IGC_CC_MC_ACCT_LINES.Conversion_Date%TYPE,
283 p_Conversion_Rate IGC_CC_MC_ACCT_LINES.Conversion_Rate%TYPE,
284 p_CC_Func_Withheld_Amt IGC_CC_MC_ACCT_LINES.cc_func_withheld_amt%TYPE
285 ) IS
286
287 l_api_name CONSTANT VARCHAR2(30) := 'Update_Row';
288 l_api_version CONSTANT NUMBER := 1.0;
289
290 BEGIN
291
292 SAVEPOINT Update_Row_Pvt ;
293
294 IF NOT FND_API.Compatible_API_Call ( l_api_version,
295 p_api_version,
296 l_api_name,
297 G_PKG_NAME )
298 THEN
299 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
300 END IF;
301
302
303 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
304 FND_MSG_PUB.initialize ;
305 END IF;
306
307 X_return_status := FND_API.G_RET_STS_SUCCESS ;
308
309 UPDATE IGC_CC_MC_ACCT_LINES
310 SET
311 CC_Acct_Line_Id = p_CC_Acct_Line_Id,
312 Set_Of_Books_Id = p_Set_Of_Books_Id,
313 CC_Acct_Func_Amt = p_CC_Acct_Func_Amt,
314 CC_Acct_Encmbrnc_Amt = p_Cc_Acct_Encmbrnc_Amt,
315 Conversion_Type = p_Conversion_Type,
316 Conversion_Date = p_Conversion_Date,
317 Conversion_Rate = p_Conversion_Rate,
318 cc_func_withheld_amt = p_cc_func_withheld_amt
319 WHERE rowid = p_Rowid;
320 if (SQL%NOTFOUND) then
321 Raise NO_DATA_FOUND;
322 end if;
323
324 IF FND_API.To_Boolean ( p_commit ) THEN
325 COMMIT WORK;
326 END iF;
327
328 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
329 p_data => X_msg_data );
330
331 EXCEPTION
332
333 WHEN FND_API.G_EXC_ERROR THEN
334
335 ROLLBACK TO Update_Row_Pvt ;
336 X_return_status := FND_API.G_RET_STS_ERROR;
337 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
338 p_data => X_msg_data );
339
340 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
341
342 ROLLBACK TO Update_Row_Pvt ;
343 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
344 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
345 p_data => X_msg_data );
346
347 WHEN OTHERS THEN
348
349 ROLLBACK TO Update_Row_Pvt ;
350 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
351
352 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
353 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
354 l_api_name);
355 END if;
356
357 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
358 p_data => X_msg_data );
359
360 END Update_Row;
361
362 /* ================================================================================
363 PROCEDURE Delete_Row
364 ===============================================================================*/
365
366 PROCEDURE Delete_Row(
367 p_api_version IN NUMBER,
368 p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
369 p_commit IN VARCHAR2 := FND_API.G_FALSE,
370 p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
371 X_return_status OUT NOCOPY VARCHAR2,
372 X_msg_count OUT NOCOPY NUMBER,
373 X_msg_data OUT NOCOPY VARCHAR2,
374 p_Rowid IN OUT NOCOPY VARCHAR2
375
376 ) IS
377
378 l_api_name CONSTANT VARCHAR2(30) := 'Delete_Row';
379 l_api_version CONSTANT NUMBER := 1.0;
380 l_return_status VARCHAR2(1) ;
384 BEGIN
381 l_msg_count NUMBER ;
382 l_msg_data VARCHAR2(2000) ;
383
385
386 SAVEPOINT Delete_Row_Pvt ;
387
388 IF NOT FND_API.Compatible_API_Call ( l_api_version,
389 p_api_version,
390 l_api_name,
391 G_PKG_NAME )
392 THEN
393 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
394 END IF;
395
396
397 IF FND_API.to_Boolean ( p_init_msg_list ) THEN
398 FND_MSG_PUB.initialize ;
399 END IF ;
400
401 X_return_status := FND_API.G_RET_STS_SUCCESS ;
402
403 DELETE FROM IGC_CC_MC_ACCT_LINES
404 WHERE rowid = p_Rowid;
405
406 if (SQL%NOTFOUND) then
407 Raise NO_DATA_FOUND;
408 end if;
409
410 IF FND_API.To_Boolean ( p_commit ) THEN
411 COMMIT WORK;
412 END iF;
413
414 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
415 p_data => X_msg_data );
416
417 EXCEPTION
418
419 WHEN FND_API.G_EXC_ERROR THEN
420
421 ROLLBACK TO Delete_Row_Pvt ;
422 X_return_status := FND_API.G_RET_STS_ERROR;
423 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
424 p_data => X_msg_data );
425
426 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
427
428 ROLLBACK TO Delete_Row_Pvt ;
429 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
430 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
431 p_data => X_msg_data );
432
433 WHEN OTHERS THEN
434
435 ROLLBACK TO Delete_Row_Pvt ;
436 X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
437
438 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
439 FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
440 l_api_name);
441 END if;
442
443 FND_MSG_PUB.Count_And_Get ( p_count => X_msg_count,
444 p_data => X_msg_data );
445
446
447 END Delete_Row;
448
449
450
451
452 END IGC_CC_MC_ACCT_LINES_PKG;