3:
4:
5: PROCEDURE Insert_SQL_Rule(
6: p_api_version IN NUMBER ,
7: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
8: p_commit IN VARCHAR2 := FND_API.G_FALSE,
9: x_return_status OUT NOCOPY VARCHAR2 ,
10: x_msg_count OUT NOCOPY NUMBER ,
11: x_msg_data OUT NOCOPY VARCHAR2 ,
4:
5: PROCEDURE Insert_SQL_Rule(
6: p_api_version IN NUMBER ,
7: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
8: p_commit IN VARCHAR2 := FND_API.G_FALSE,
9: x_return_status OUT NOCOPY VARCHAR2 ,
10: x_msg_count OUT NOCOPY NUMBER ,
11: x_msg_data OUT NOCOPY VARCHAR2 ,
12: p_rel_type_code IN VARCHAR2 ,
23: -- Standard Start of API savepoint
24: SAVEPOINT Insert_SQL_Rule_PVT;
25:
26: -- Standard call to check for call compatibility.
27: IF NOT FND_API.Compatible_API_Call( L_API_VERSION,
28: p_api_version,
29: L_API_NAME,
30: G_PKG_NAME )
31: THEN
28: p_api_version,
29: L_API_NAME,
30: G_PKG_NAME )
31: THEN
32: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
33: END IF;
34:
35: -- Initialize message list if p_init_msg_list is set to TRUE.
36: IF FND_API.to_Boolean( p_init_msg_list ) THEN
32: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
33: END IF;
34:
35: -- Initialize message list if p_init_msg_list is set to TRUE.
36: IF FND_API.to_Boolean( p_init_msg_list ) THEN
37: FND_MSG_PUB.initialize;
38: END IF;
39:
40: -- Initialize API return status to success
37: FND_MSG_PUB.initialize;
38: END IF;
39:
40: -- Initialize API return status to success
41: x_return_status := FND_API.G_RET_STS_SUCCESS;
42:
43: IF (l_debug = 'Y') THEN
44: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Insert_SQL_Rule(+)');
45: END IF;
49: IBE_UTIL.debug('Invalid SQL statement');
50: END IF;
51: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_INVALID_SQL_RULE');
52: FND_MSG_PUB.Add;
53: RAISE FND_API.G_EXC_ERROR;
54: END IF;
55:
56: INSERT INTO IBE_CT_RELATION_RULES(
57: relation_rule_id, object_version_number, created_by,
71: IBE_UTIL.debug('Failed to insert the SQL rule.');
72: END IF;
73: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_REL_RULE_NOT_CREATED');
74: FND_MSG_PUB.Add;
75: RAISE FND_API.G_EXC_ERROR;
76: END IF;
77: -- End of API body.
78: IF (l_debug = 'Y') THEN
79: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Insert_SQL_Rule(-)');
79: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Insert_SQL_Rule(-)');
80: END IF;
81:
82: -- Standard check of p_commit.
83: IF FND_API.To_Boolean( p_commit ) THEN
84: COMMIT WORK;
85: END IF;
86:
87: -- Standard call to get message count and if count is 1, get message info.
84: COMMIT WORK;
85: END IF;
86:
87: -- Standard call to get message count and if count is 1, get message info.
88: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
89: p_count => x_msg_count ,
90: p_data => x_msg_data );
91:
92: EXCEPTION
89: p_count => x_msg_count ,
90: p_data => x_msg_data );
91:
92: EXCEPTION
93: WHEN FND_API.G_EXC_ERROR THEN
94: ROLLBACK TO Insert_SQL_Rule_PVT;
95: x_return_status := FND_API.G_RET_STS_ERROR;
96: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
97: p_count => x_msg_count ,
91:
92: EXCEPTION
93: WHEN FND_API.G_EXC_ERROR THEN
94: ROLLBACK TO Insert_SQL_Rule_PVT;
95: x_return_status := FND_API.G_RET_STS_ERROR;
96: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
97: p_count => x_msg_count ,
98: p_data => x_msg_data );
99:
92: EXCEPTION
93: WHEN FND_API.G_EXC_ERROR THEN
94: ROLLBACK TO Insert_SQL_Rule_PVT;
95: x_return_status := FND_API.G_RET_STS_ERROR;
96: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
97: p_count => x_msg_count ,
98: p_data => x_msg_data );
99:
100: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
96: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
97: p_count => x_msg_count ,
98: p_data => x_msg_data );
99:
100: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
101: ROLLBACK TO Insert_SQL_Rule_PVT;
102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
103: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
104: p_count => x_msg_count ,
98: p_data => x_msg_data );
99:
100: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
101: ROLLBACK TO Insert_SQL_Rule_PVT;
102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
103: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
104: p_count => x_msg_count ,
105: p_data => x_msg_data );
106:
99:
100: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
101: ROLLBACK TO Insert_SQL_Rule_PVT;
102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
103: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
104: p_count => x_msg_count ,
105: p_data => x_msg_data );
106:
107: WHEN OTHERS THEN
105: p_data => x_msg_data );
106:
107: WHEN OTHERS THEN
108: ROLLBACK TO Insert_SQL_Rule_PVT;
109: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
110:
111: IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
112: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
113: L_API_NAME );
112: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
113: L_API_NAME );
114: END IF;
115:
116: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
117: p_count => x_msg_count ,
118: p_data => x_msg_data );
119: END Insert_SQL_Rule;
120:
120:
121:
122: PROCEDURE Insert_Mapping_Rules(
123: p_api_version IN NUMBER ,
124: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
125: p_commit IN VARCHAR2 := FND_API.G_FALSE,
126: x_return_status OUT NOCOPY VARCHAR2 ,
127: x_msg_count OUT NOCOPY NUMBER ,
128: x_msg_data OUT NOCOPY VARCHAR2 ,
121:
122: PROCEDURE Insert_Mapping_Rules(
123: p_api_version IN NUMBER ,
124: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
125: p_commit IN VARCHAR2 := FND_API.G_FALSE,
126: x_return_status OUT NOCOPY VARCHAR2 ,
127: x_msg_count OUT NOCOPY NUMBER ,
128: x_msg_data OUT NOCOPY VARCHAR2 ,
129: p_rel_type_code IN VARCHAR2 ,
130: p_origin_object_type_tbl IN JTF_Varchar2_Table_100 ,
131: p_dest_object_type_tbl IN JTF_Varchar2_Table_100 ,
132: p_origin_object_id_tbl IN JTF_Number_Table ,
133: p_dest_object_id_tbl IN JTF_Number_Table ,
134: p_preview IN VARCHAR2 := FND_API.G_FALSE
135: )
136: IS
137: L_API_NAME CONSTANT VARCHAR2(30) := 'Insert_Mapping_Rules';
138: L_API_VERSION CONSTANT NUMBER := 1.0;
147: -- Standard Start of API savepoint
148: SAVEPOINT Insert_Mapping_Rules_PVT;
149:
150: -- Standard call to check for call compatibility.
151: IF NOT FND_API.Compatible_API_Call( L_API_VERSION,
152: p_api_version,
153: L_API_NAME,
154: G_PKG_NAME )
155: THEN
152: p_api_version,
153: L_API_NAME,
154: G_PKG_NAME )
155: THEN
156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
157: END IF;
158:
159: -- Initialize message list if p_init_msg_list is set to TRUE.
160: IF FND_API.to_Boolean( p_init_msg_list ) THEN
156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
157: END IF;
158:
159: -- Initialize message list if p_init_msg_list is set to TRUE.
160: IF FND_API.to_Boolean( p_init_msg_list ) THEN
161: FND_MSG_PUB.initialize;
162: END IF;
163:
164: -- Initialize API return status to success
161: FND_MSG_PUB.initialize;
162: END IF;
163:
164: -- Initialize API return status to success
165: x_return_status := FND_API.G_RET_STS_SUCCESS;
166:
167: IF (l_debug = 'Y') THEN
168: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Insert_Mapping_Rules(+)');
169: END IF;
167: IF (l_debug = 'Y') THEN
168: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Insert_Mapping_Rules(+)');
169: END IF;
170: -- API body
171: IF FND_API.to_Boolean( p_preview ) THEN
172: IF (l_debug = 'Y') THEN
173: IBE_UTIL.debug('Inserting the mapping rules from the Preview page.');
174: END IF;
175: FOR i IN 1..p_origin_object_type_tbl.COUNT LOOP
190:
191: IF SQL%NOTFOUND THEN
192: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_REL_RULE_NOT_CREATED');
193: FND_MSG_PUB.Add;
194: RAISE FND_API.G_EXC_ERROR;
195: END IF;
196: -- bug fix 3676064
197: IF (p_rel_type_code <>'AUTOPLACEMENT') THEN
198: IBE_Prod_Relation_PVT.Insert_Related_Items_Rows(
231:
232: IF SQL%NOTFOUND THEN
233: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_REL_RULE_NOT_CREATED');
234: FND_MSG_PUB.Add;
235: RAISE FND_API.G_EXC_ERROR;
236: END IF;
237: -- bug fix 3676064
238: IF (p_rel_type_code <>'AUTOPLACEMENT') THEN
239: IBE_Prod_Relation_PVT.Insert_Related_Items_Rows(
256: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Insert_Mapping_Rules(-)');
257: END IF;
258:
259: -- Standard check of p_commit.
260: IF FND_API.To_Boolean( p_commit ) THEN
261: COMMIT WORK;
262: END IF;
263:
264: -- Standard call to get message count and if count is 1, get message info.
261: COMMIT WORK;
262: END IF;
263:
264: -- Standard call to get message count and if count is 1, get message info.
265: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
266: p_count => x_msg_count ,
267: p_data => x_msg_data );
268:
269: EXCEPTION
266: p_count => x_msg_count ,
267: p_data => x_msg_data );
268:
269: EXCEPTION
270: WHEN FND_API.G_EXC_ERROR THEN
271: ROLLBACK TO Insert_Mapping_Rules_PVT;
272: x_return_status := FND_API.G_RET_STS_ERROR;
273: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
274: p_count => x_msg_count ,
268:
269: EXCEPTION
270: WHEN FND_API.G_EXC_ERROR THEN
271: ROLLBACK TO Insert_Mapping_Rules_PVT;
272: x_return_status := FND_API.G_RET_STS_ERROR;
273: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
274: p_count => x_msg_count ,
275: p_data => x_msg_data );
276:
269: EXCEPTION
270: WHEN FND_API.G_EXC_ERROR THEN
271: ROLLBACK TO Insert_Mapping_Rules_PVT;
272: x_return_status := FND_API.G_RET_STS_ERROR;
273: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
274: p_count => x_msg_count ,
275: p_data => x_msg_data );
276:
277: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
273: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
274: p_count => x_msg_count ,
275: p_data => x_msg_data );
276:
277: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
278: ROLLBACK TO Insert_Mapping_Rules_PVT;
279: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
280: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
281: p_count => x_msg_count ,
275: p_data => x_msg_data );
276:
277: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
278: ROLLBACK TO Insert_Mapping_Rules_PVT;
279: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
280: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
281: p_count => x_msg_count ,
282: p_data => x_msg_data );
283:
276:
277: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
278: ROLLBACK TO Insert_Mapping_Rules_PVT;
279: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
280: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
281: p_count => x_msg_count ,
282: p_data => x_msg_data );
283:
284: WHEN OTHERS THEN
282: p_data => x_msg_data );
283:
284: WHEN OTHERS THEN
285: ROLLBACK TO Insert_Mapping_Rules_PVT;
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,
290: L_API_NAME );
289: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
290: L_API_NAME );
291: END IF;
292:
293: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
294: p_count => x_msg_count ,
295: p_data => x_msg_data );
296: END Insert_Mapping_Rules;
297:
297:
298:
299: PROCEDURE Update_Rule(
300: p_api_version IN NUMBER ,
301: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
302: p_commit IN VARCHAR2 := FND_API.G_FALSE,
303: x_return_status OUT NOCOPY VARCHAR2 ,
304: x_msg_count OUT NOCOPY NUMBER ,
305: x_msg_data OUT NOCOPY VARCHAR2 ,
298:
299: PROCEDURE Update_Rule(
300: p_api_version IN NUMBER ,
301: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
302: p_commit IN VARCHAR2 := FND_API.G_FALSE,
303: x_return_status OUT NOCOPY VARCHAR2 ,
304: x_msg_count OUT NOCOPY NUMBER ,
305: x_msg_data OUT NOCOPY VARCHAR2 ,
306: p_rel_rule_id IN NUMBER ,
318: -- Standard Start of API savepoint
319: SAVEPOINT Update_Rule_PVT;
320:
321: -- Standard call to check for call compatibility.
322: IF NOT FND_API.Compatible_API_Call( L_API_VERSION,
323: p_api_version,
324: L_API_NAME,
325: G_PKG_NAME )
326: THEN
323: p_api_version,
324: L_API_NAME,
325: G_PKG_NAME )
326: THEN
327: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
328: END IF;
329:
330: -- Initialize message list if p_init_msg_list is set to TRUE.
331: IF FND_API.to_Boolean( p_init_msg_list ) THEN
327: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
328: END IF;
329:
330: -- Initialize message list if p_init_msg_list is set to TRUE.
331: IF FND_API.to_Boolean( p_init_msg_list ) THEN
332: FND_MSG_PUB.initialize;
333: END IF;
334:
335: -- Initialize API return status to success
332: FND_MSG_PUB.initialize;
333: END IF;
334:
335: -- Initialize API return status to success
336: x_return_status := FND_API.G_RET_STS_SUCCESS;
337:
338: IF (l_debug = 'Y') THEN
339: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Update_Rule(+)');
340: END IF;
345: IBE_UTIL.debug('Invalid SQL statement.');
346: END IF;
347: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_INVALID_SQL_RULE');
348: FND_MSG_PUB.Add;
349: RAISE FND_API.G_EXC_ERROR;
350: END IF;
351:
352: UPDATE IBE_CT_RELATION_RULES
353: SET object_version_number = object_version_number + 1,
360: IBE_UTIL.debug('Update statement failed.');
361: END IF;
362: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_REL_RULE_NOT_UPDATED');
363: FND_MSG_PUB.Add;
364: RAISE FND_API.G_EXC_ERROR;
365: END IF;
366: -- End of API body.
367: IF (l_debug = 'Y') THEN
368: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Update_Rule(-)');
368: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Update_Rule(-)');
369: END IF;
370:
371: -- Standard check of p_commit.
372: IF FND_API.To_Boolean( p_commit ) THEN
373: COMMIT WORK;
374: END IF;
375:
376: -- Standard call to get message count and if count is 1, get message info.
373: COMMIT WORK;
374: END IF;
375:
376: -- Standard call to get message count and if count is 1, get message info.
377: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
378: p_count => x_msg_count ,
379: p_data => x_msg_data );
380: EXCEPTION
381: WHEN FND_API.G_EXC_ERROR THEN
377: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
378: p_count => x_msg_count ,
379: p_data => x_msg_data );
380: EXCEPTION
381: WHEN FND_API.G_EXC_ERROR THEN
382: ROLLBACK TO Update_Rule_PVT;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
385: p_count => x_msg_count ,
379: p_data => x_msg_data );
380: EXCEPTION
381: WHEN FND_API.G_EXC_ERROR THEN
382: ROLLBACK TO Update_Rule_PVT;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
385: p_count => x_msg_count ,
386: p_data => x_msg_data );
387:
380: EXCEPTION
381: WHEN FND_API.G_EXC_ERROR THEN
382: ROLLBACK TO Update_Rule_PVT;
383: x_return_status := FND_API.G_RET_STS_ERROR;
384: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
385: p_count => x_msg_count ,
386: p_data => x_msg_data );
387:
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
384: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
385: p_count => x_msg_count ,
386: p_data => x_msg_data );
387:
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
389: ROLLBACK TO Update_Rule_PVT;
390: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
391: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
392: p_count => x_msg_count ,
386: p_data => x_msg_data );
387:
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
389: ROLLBACK TO Update_Rule_PVT;
390: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
391: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
392: p_count => x_msg_count ,
393: p_data => x_msg_data );
394:
387:
388: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
389: ROLLBACK TO Update_Rule_PVT;
390: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
391: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
392: p_count => x_msg_count ,
393: p_data => x_msg_data );
394:
395: WHEN OTHERS THEN
393: p_data => x_msg_data );
394:
395: WHEN OTHERS THEN
396: ROLLBACK TO Update_Rule_PVT;
397: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
398:
399: IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
400: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
401: L_API_NAME );
400: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
401: L_API_NAME );
402: END IF;
403:
404: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
405: p_count => x_msg_count ,
406: p_data => x_msg_data );
407: END Update_Rule;
408:
408:
409:
410: PROCEDURE Delete_Rules(
411: p_api_version IN NUMBER ,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
413: p_commit IN VARCHAR2 := FND_API.G_FALSE,
414: x_return_status OUT NOCOPY VARCHAR2 ,
415: x_msg_count OUT NOCOPY NUMBER ,
416: x_msg_data OUT NOCOPY VARCHAR2 ,
409:
410: PROCEDURE Delete_Rules(
411: p_api_version IN NUMBER ,
412: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
413: p_commit IN VARCHAR2 := FND_API.G_FALSE,
414: x_return_status OUT NOCOPY VARCHAR2 ,
415: x_msg_count OUT NOCOPY NUMBER ,
416: x_msg_data OUT NOCOPY VARCHAR2 ,
417: p_rel_rule_id_tbl IN JTF_Varchar2_Table_100 ,
428: -- Standard Start of API savepoint
429: SAVEPOINT Delete_Rule_PVT;
430:
431: -- Standard call to check for call compatibility.
432: IF NOT FND_API.Compatible_API_Call( L_API_VERSION,
433: p_api_version,
434: L_API_NAME,
435: G_PKG_NAME )
436: THEN
433: p_api_version,
434: L_API_NAME,
435: G_PKG_NAME )
436: THEN
437: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
438: END IF;
439:
440: -- Initialize message list if p_init_msg_list is set to TRUE.
441: IF FND_API.to_Boolean( p_init_msg_list ) THEN
437: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
438: END IF;
439:
440: -- Initialize message list if p_init_msg_list is set to TRUE.
441: IF FND_API.to_Boolean( p_init_msg_list ) THEN
442: FND_MSG_PUB.initialize;
443: END IF;
444:
445: -- Initialize API return status to success
442: FND_MSG_PUB.initialize;
443: END IF;
444:
445: -- Initialize API return status to success
446: x_return_status := FND_API.G_RET_STS_SUCCESS;
447:
448: IF (l_debug = 'Y') THEN
449: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Delete_Rule(+)');
450: END IF;
463: IBE_UTIL.debug('Failed delete statement for IBE_CT_RELATION_RULES.');
464: END IF;
465: FND_MESSAGE.Set_Name('IBE', 'IBE_CT_REL_RULE_NOT_DELETED');
466: FND_MSG_PUB.Add;
467: RAISE FND_API.G_EXC_ERROR;
468: END IF;
469:
470: IF (l_debug = 'Y') THEN
471: IBE_UTIL.debug('Deleting rows in IBE_CT_RELATED_ITEMS.');
484: IBE_UTIL.debug('IBE_Prod_Relation_Rule_PVT.Delete_Rule(-)');
485: END IF;
486:
487: -- Standard check of p_commit.
488: IF FND_API.To_Boolean( p_commit ) THEN
489: COMMIT WORK;
490: END IF;
491:
492: -- Standard call to get message count and if count is 1, get message info.
489: COMMIT WORK;
490: END IF;
491:
492: -- Standard call to get message count and if count is 1, get message info.
493: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
494: p_count => x_msg_count ,
495: p_data => x_msg_data );
496: EXCEPTION
497: WHEN FND_API.G_EXC_ERROR THEN
493: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
494: p_count => x_msg_count ,
495: p_data => x_msg_data );
496: EXCEPTION
497: WHEN FND_API.G_EXC_ERROR THEN
498: ROLLBACK TO Delete_Rule_PVT;
499: x_return_status := FND_API.G_RET_STS_ERROR;
500: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
501: p_count => x_msg_count ,
495: p_data => x_msg_data );
496: EXCEPTION
497: WHEN FND_API.G_EXC_ERROR THEN
498: ROLLBACK TO Delete_Rule_PVT;
499: x_return_status := FND_API.G_RET_STS_ERROR;
500: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
501: p_count => x_msg_count ,
502: p_data => x_msg_data );
503:
496: EXCEPTION
497: WHEN FND_API.G_EXC_ERROR THEN
498: ROLLBACK TO Delete_Rule_PVT;
499: x_return_status := FND_API.G_RET_STS_ERROR;
500: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
501: p_count => x_msg_count ,
502: p_data => x_msg_data );
503:
504: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
500: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
501: p_count => x_msg_count ,
502: p_data => x_msg_data );
503:
504: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
505: ROLLBACK TO Delete_Rule_PVT;
506: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
508: p_count => x_msg_count ,
502: p_data => x_msg_data );
503:
504: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
505: ROLLBACK TO Delete_Rule_PVT;
506: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
508: p_count => x_msg_count ,
509: p_data => x_msg_data );
510:
503:
504: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
505: ROLLBACK TO Delete_Rule_PVT;
506: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
507: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
508: p_count => x_msg_count ,
509: p_data => x_msg_data );
510:
511: WHEN OTHERS THEN
509: p_data => x_msg_data );
510:
511: WHEN OTHERS THEN
512: ROLLBACK TO Delete_Rule_PVT;
513: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
514:
515: IF FND_MSG_PUB.Check_Msg_Level( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
516: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
517: L_API_NAME );
516: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
517: L_API_NAME );
518: END IF;
519:
520: FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
521: p_count => x_msg_count ,
522: p_data => x_msg_data );
523: END Delete_Rules;
524: