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