54:
55: --------------------- initialize -----------------------
56: SAVEPOINT Create_channel_type;
57:
58: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
59: PVX_Utility_PVT.debug_message(l_full_name||': start');
60: END IF;
61:
62: IF FND_API.to_boolean(p_init_msg_list) THEN
59: PVX_Utility_PVT.debug_message(l_full_name||': start');
60: END IF;
61:
62: IF FND_API.to_boolean(p_init_msg_list) THEN
63: FND_MSG_PUB.initialize;
64: END IF;
65:
66: IF NOT FND_API.compatible_api_call( l_api_version,
67: p_api_version,
72:
73: x_return_status := FND_API.g_ret_sts_success;
74:
75: -------------------------- insert --------------------------
76: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
77: PVX_Utility_PVT.debug_message(l_full_name ||': insert');
78: END IF;
79:
80:
92: CLOSE lc_chk_exists;
93:
94: if l_uniqueness_check is not null then
95: FND_MESSAGE.set_name('PV', 'PV_DUPLICATE_RECORD');
96: FND_MSG_PUB.add;
97: RAISE FND_API.g_exc_unexpected_error;
98: end if;
99:
100: END IF;
131: IF FND_API.to_boolean(p_commit) THEN
132: COMMIT;
133: END IF;
134:
135: FND_MSG_PUB.count_and_get(p_encoded => FND_API.g_false,
136: p_count => x_msg_count,
137: p_data => x_msg_data);
138:
139: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
135: FND_MSG_PUB.count_and_get(p_encoded => FND_API.g_false,
136: p_count => x_msg_count,
137: p_data => x_msg_data);
138:
139: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
140: PVX_Utility_PVT.debug_message(l_full_name ||': end');
141: END IF;
142:
143: EXCEPTION
146:
147: ROLLBACK TO Create_channel_type;
148: x_return_status := FND_API.g_ret_sts_error;
149:
150: FND_MSG_PUB.count_and_get ( p_encoded => FND_API.g_false
151: ,p_count => x_msg_count
152: ,p_data => x_msg_data);
153:
154: WHEN FND_API.g_exc_unexpected_error THEN
155:
156: ROLLBACK TO Create_channel_type;
157: x_return_status := FND_API.g_ret_sts_unexp_error ;
158:
159: FND_MSG_PUB.count_and_get ( p_encoded => FND_API.g_false
160: ,p_count => x_msg_count
161: ,p_data => x_msg_data);
162:
163: WHEN OTHERS THEN
164:
165: ROLLBACK TO Create_channel_type;
166: x_return_status := FND_API.g_ret_sts_unexp_error ;
167:
168: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
169: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
170: END IF;
171:
172: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
165: ROLLBACK TO Create_channel_type;
166: x_return_status := FND_API.g_ret_sts_unexp_error ;
167:
168: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
169: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
170: END IF;
171:
172: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
173: ,p_count => x_msg_count
168: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
169: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
170: END IF;
171:
172: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
173: ,p_count => x_msg_count
174: ,p_data => x_msg_data);
175:
176: END Create_channel_type;
200:
201: --------------------- initialize -----------------------
202: SAVEPOINT Delete_channel_type;
203:
204: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
205: PVX_Utility_PVT.debug_message(l_full_name||': start');
206: END IF;
207:
208:
206: END IF;
207:
208:
209: IF FND_API.to_boolean(p_init_msg_list) THEN
210: FND_MSG_PUB.initialize;
211: END IF;
212:
213: IF NOT FND_API.compatible_api_call( l_api_version,
214: p_api_version,
219:
220: x_return_status := FND_API.G_RET_STS_SUCCESS;
221:
222: ------------------------ delete ------------------------
223: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
224: PVX_Utility_PVT.debug_message(l_full_name ||': delete');
225: END IF;
226:
227: IF p_channel_type_id < 10000 THEN
227: IF p_channel_type_id < 10000 THEN
228:
229: FND_MESSAGE.set_name('PV', 'PV_DEBUG_MESSAGE');
230: FND_MESSAGE.set_token('TEXT', 'Cannot delete a seeded channel type');
231: FND_MSG_PUB.add;
232: RAISE FND_API.g_exc_error;
233:
234:
235: END IF;
239: WHERE channel_type_id = p_channel_type_id
240: AND object_version_number = p_object_version;
241:
242: IF (SQL%NOTFOUND) THEN
243: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
244: FND_MESSAGE.set_name('PV', 'PV_RECORD_NOT_FOUND');
245: FND_MSG_PUB.add;
246: END IF;
247: RAISE FND_API.g_exc_error;
241:
242: IF (SQL%NOTFOUND) THEN
243: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
244: FND_MESSAGE.set_name('PV', 'PV_RECORD_NOT_FOUND');
245: FND_MSG_PUB.add;
246: END IF;
247: RAISE FND_API.g_exc_error;
248: END IF;
249:
251: IF FND_API.to_boolean(p_commit) THEN
252: COMMIT;
253: END IF;
254:
255: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false,
256: p_count => x_msg_count,
257: p_data => x_msg_data);
258:
259: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
255: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false,
256: p_count => x_msg_count,
257: p_data => x_msg_data);
258:
259: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
260: PVX_Utility_PVT.debug_message(l_full_name ||': end');
261: END IF;
262:
263: EXCEPTION
266:
267: ROLLBACK TO Delete_channel_type;
268: x_return_status := FND_API.g_ret_sts_error;
269:
270: FND_MSG_PUB.count_and_get ( p_encoded => FND_API.g_false
271: ,p_count => x_msg_count
272: ,p_data => x_msg_data);
273:
274: WHEN FND_API.g_exc_unexpected_error THEN
275:
276: ROLLBACK TO Delete_channel_type;
277: x_return_status := FND_API.g_ret_sts_unexp_error ;
278:
279: FND_MSG_PUB.count_and_get ( p_encoded => FND_API.g_false
280: ,p_count => x_msg_count
281: ,p_data => x_msg_data);
282:
283: WHEN OTHERS THEN
284:
285: ROLLBACK TO Delete_channel_type;
286: x_return_status := FND_API.g_ret_sts_unexp_error ;
287:
288: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
289: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
290: END IF;
291:
292: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
285: ROLLBACK TO Delete_channel_type;
286: x_return_status := FND_API.g_ret_sts_unexp_error ;
287:
288: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
289: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
290: END IF;
291:
292: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
293: ,p_count => x_msg_count
288: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
289: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
290: END IF;
291:
292: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
293: ,p_count => x_msg_count
294: ,p_data => x_msg_data);
295:
296: END Delete_channel_type;
327:
328: -------------------- initialize -------------------------
329: SAVEPOINT Update_channel_type;
330:
331: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
332: PVX_Utility_PVT.debug_message(l_full_name||': start');
333: END IF;
334:
335: IF FND_API.to_boolean(p_init_msg_list) THEN
332: PVX_Utility_PVT.debug_message(l_full_name||': start');
333: END IF;
334:
335: IF FND_API.to_boolean(p_init_msg_list) THEN
336: FND_MSG_PUB.initialize;
337: END IF;
338:
339: IF NOT FND_API.compatible_api_call( l_api_version,
340: p_api_version,
345:
346: x_return_status := FND_API.G_RET_STS_SUCCESS;
347:
348: ----------------------- validate ----------------------
349: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
350: PVX_Utility_PVT.debug_message(l_full_name ||': validate');
351: END IF;
352:
353: -- replace g_miss_char/num/date with current column values
368: IF l_indirect_channel_flag <> l_channel_type_rec.indirect_channel_flag THEN
369:
370: FND_MESSAGE.set_name('PV', 'PV_DEBUG_MESSAGE');
371: FND_MESSAGE.set_token('TEXT', 'Cannot update a seeded channel type');
372: FND_MSG_PUB.add;
373: RAISE FND_API.g_exc_error;
374:
375: END IF;
376:
375: END IF;
376:
377: END IF;
378:
379: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
380: PVX_Utility_PVT.debug_message(l_full_name ||': update');
381: END IF;
382:
383: UPDATE PV_CHANNEL_TYPES
393: WHERE channel_type_id = l_channel_type_rec.channel_type_id
394: AND object_version_number = l_channel_type_rec.object_version_number;
395:
396: IF (SQL%NOTFOUND) THEN
397: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
398: FND_MESSAGE.set_name('PV', 'PV_NO_RECORD_FOUND');
399: FND_MSG_PUB.add;
400: END IF;
401: RAISE FND_API.g_exc_error;
395:
396: IF (SQL%NOTFOUND) THEN
397: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
398: FND_MESSAGE.set_name('PV', 'PV_NO_RECORD_FOUND');
399: FND_MSG_PUB.add;
400: END IF;
401: RAISE FND_API.g_exc_error;
402: END IF;
403:
407: IF FND_API.to_boolean(p_commit) THEN
408: COMMIT;
409: END IF;
410:
411: FND_MSG_PUB.count_and_get(
412: p_encoded => FND_API.g_false,
413: p_count => x_msg_count,
414: p_data => x_msg_data
415: );
413: p_count => x_msg_count,
414: p_data => x_msg_data
415: );
416:
417: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
418: PVX_Utility_PVT.debug_message(l_full_name ||': end');
419: END IF;
420:
421:
425:
426: ROLLBACK TO Update_channel_type;
427: x_return_status := FND_API.g_ret_sts_error;
428:
429: FND_MSG_PUB.count_and_get ( p_encoded => FND_API.g_false
430: ,p_count => x_msg_count
431: ,p_data => x_msg_data);
432:
433: WHEN FND_API.g_exc_unexpected_error THEN
434:
435: ROLLBACK TO Update_channel_type;
436: x_return_status := FND_API.g_ret_sts_unexp_error ;
437:
438: FND_MSG_PUB.count_and_get ( p_encoded => FND_API.g_false
439: ,p_count => x_msg_count
440: ,p_data => x_msg_data);
441:
442: WHEN OTHERS THEN
443:
444: ROLLBACK TO Update_channel_type;
445: x_return_status := FND_API.g_ret_sts_unexp_error ;
446:
447: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
448: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
449: END IF;
450:
451: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
444: ROLLBACK TO Update_channel_type;
445: x_return_status := FND_API.g_ret_sts_unexp_error ;
446:
447: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
448: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
449: END IF;
450:
451: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
452: ,p_count => x_msg_count
447: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
448: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
449: END IF;
450:
451: FND_MSG_PUB.count_and_get( p_encoded => FND_API.g_false
452: ,p_count => x_msg_count
453: ,p_data => x_msg_data);
454:
455: END Update_channel_type;
481: FETCH lc_get_channel_type INTO l_channel_type_rec;
482:
483: IF lc_get_channel_type%NOTFOUND THEN
484: CLOSE lc_get_channel_type;
485: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
486: FND_MESSAGE.set_name('PV', 'PV_NO_RECORD_FOUND');
487: FND_MSG_PUB.add;
488: END IF;
489: RAISE FND_API.g_exc_error;
483: IF lc_get_channel_type%NOTFOUND THEN
484: CLOSE lc_get_channel_type;
485: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
486: FND_MESSAGE.set_name('PV', 'PV_NO_RECORD_FOUND');
487: FND_MSG_PUB.add;
488: END IF;
489: RAISE FND_API.g_exc_error;
490: END IF;
491: